MM-29486: Fix racy test TestPatchChannelModeration (#16256)

* MM-29486: Fix racy test TestPatchChannelModeration

- We avoid appending to the slice in `(r *Role) IsValidWithoutId`
by just iterating the 2 slices separately.
- We pass deep copies of channels to prevent racy modification.

https://mattermost.atlassian.net/browse/MM-29486

```release-note
NONE
```

* fix lint

* simplify perm check

* improve more

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Agniva De Sarker
2020-11-12 15:26:35 +05:30
коммит произвёл GitHub
родитель 42c785218d
Коммит cae59d327c
2 изменённых файлов: 11 добавлений и 10 удалений

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

@@ -1828,15 +1828,15 @@ func TestPatchChannelModerationsForChannel(t *testing.T) {
wg.Add(20)
for i := 0; i < 10; i++ {
go func() {
th.App.PatchChannelModerationsForChannel(channel, addCreatePosts)
th.App.PatchChannelModerationsForChannel(channel, removeCreatePosts)
th.App.PatchChannelModerationsForChannel(channel.DeepCopy(), addCreatePosts)
th.App.PatchChannelModerationsForChannel(channel.DeepCopy(), removeCreatePosts)
wg.Done()
}()
}
for i := 0; i < 10; i++ {
go func() {
th.App.PatchChannelModerationsForChannel(channel, addCreatePosts)
th.App.PatchChannelModerationsForChannel(channel, removeCreatePosts)
th.App.PatchChannelModerationsForChannel(channel.DeepCopy(), addCreatePosts)
th.App.PatchChannelModerationsForChannel(channel.DeepCopy(), removeCreatePosts)
wg.Done()
}()
}