[MM-56266] Check for public channels when getting channel member counts to avoid 403 errors (#25831)

* [MM-56266] Check for public channels when getting channel member counts to avoid 403 errors

* Fix test
Этот коммит содержится в:
Devin Binnie
2024-01-05 12:28:22 -05:00
коммит произвёл GitHub
родитель d9c2a8825b
Коммит ac854498a4
2 изменённых файлов: 21 добавлений и 4 удалений

Просмотреть файл

@@ -4634,7 +4634,9 @@ func TestGetChannelsMemberCount(t *testing.T) {
client := th.Client
channel1 := th.CreatePublicChannel()
channel2 := th.CreatePublicChannel()
channel2 := th.CreatePrivateChannel()
channel3 := th.CreatePrivateChannel()
th.RemoveUserFromChannel(th.BasicUser, channel3)
user1 := th.CreateUser()
user2 := th.CreateUser()
@@ -4669,7 +4671,7 @@ func TestGetChannelsMemberCount(t *testing.T) {
})
t.Run("Should fail due to permissions", func(t *testing.T) {
_, resp, err := client.GetChannelsMemberCount(context.Background(), []string{"junk"})
_, resp, err := client.GetChannelsMemberCount(context.Background(), []string{channel3.Id})
require.Error(t, err)
CheckForbiddenStatus(t, resp)
CheckErrorID(t, err, "api.context.permissions.app_error")
@@ -4692,6 +4694,13 @@ func TestGetChannelsMemberCount(t *testing.T) {
CheckForbiddenStatus(t, resp)
CheckErrorID(t, err, "api.context.permissions.app_error")
})
t.Run("Should not fail for public channels that the user is not a member of", func(t *testing.T) {
th.LoginBasic2()
channelIDs := []string{channel1.Id}
_, _, err := client.GetChannelsMemberCount(context.Background(), channelIDs)
require.NoError(t, err)
})
}
func TestMoveChannel(t *testing.T) {