Fix Channel Bookmarks flaky tests (#28016)
Этот коммит содержится в:
@@ -16,7 +16,6 @@ import (
|
||||
)
|
||||
|
||||
func TestCreateChannelBookmark(t *testing.T) {
|
||||
t.Skip("MM-57312")
|
||||
os.Setenv("MM_FEATUREFLAGS_ChannelBookmarks", "true")
|
||||
defer os.Unsetenv("MM_FEATUREFLAGS_ChannelBookmarks")
|
||||
|
||||
@@ -221,7 +220,6 @@ func TestCreateChannelBookmark(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("a websockets event should be fired as part of creating a bookmark", func(t *testing.T) {
|
||||
t.Skip("https://mattermost.atlassian.net/browse/MM-57393")
|
||||
webSocketClient, err := th.CreateWebSocketClient()
|
||||
require.NoError(t, err)
|
||||
webSocketClient.Listen()
|
||||
@@ -244,15 +242,20 @@ func TestCreateChannelBookmark(t *testing.T) {
|
||||
require.Nil(t, appErr)
|
||||
|
||||
var b model.ChannelBookmarkWithFileInfo
|
||||
require.Eventuallyf(t, func() bool {
|
||||
event := <-webSocketClient.EventChannel
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkCreated {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmark"].(string)), &b)
|
||||
require.NoError(t, err)
|
||||
return true
|
||||
timeout := time.After(5 * time.Second)
|
||||
waiting := true
|
||||
for waiting {
|
||||
select {
|
||||
case event := <-webSocketClient.EventChannel:
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkCreated {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmark"].(string)), &b)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
case <-timeout:
|
||||
waiting = false
|
||||
}
|
||||
return false
|
||||
}, 2*time.Second, 250*time.Millisecond, "Websocket event for bookmark created not received", nil)
|
||||
}
|
||||
|
||||
require.NotNil(t, b)
|
||||
require.NotEmpty(t, b.Id)
|
||||
})
|
||||
@@ -588,7 +591,6 @@ func TestEditChannelBookmark(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("a websockets event should be fired as part of editing a bookmark", func(t *testing.T) {
|
||||
t.Skip("https://mattermost.atlassian.net/browse/MM-57392")
|
||||
webSocketClient, err := th.CreateWebSocketClient()
|
||||
require.NoError(t, err)
|
||||
webSocketClient.Listen()
|
||||
@@ -617,15 +619,19 @@ func TestEditChannelBookmark(t *testing.T) {
|
||||
CheckOKStatus(t, resp)
|
||||
|
||||
var ucb model.UpdateChannelBookmarkResponse
|
||||
require.Eventuallyf(t, func() bool {
|
||||
event := <-webSocketClient.EventChannel
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkUpdated {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmarks"].(string)), &ucb)
|
||||
require.NoError(t, err)
|
||||
return true
|
||||
timeout := time.After(5 * time.Second)
|
||||
waiting := true
|
||||
for waiting {
|
||||
select {
|
||||
case event := <-webSocketClient.EventChannel:
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkUpdated {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmarks"].(string)), &ucb)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
case <-timeout:
|
||||
waiting = false
|
||||
}
|
||||
return false
|
||||
}, 2*time.Second, 250*time.Millisecond, "Websocket event for bookmark edited not received", nil)
|
||||
}
|
||||
|
||||
require.NotNil(t, ucb)
|
||||
require.NotEmpty(t, ucb.Updated)
|
||||
@@ -980,15 +986,19 @@ func TestUpdateChannelBookmarkSortOrder(t *testing.T) {
|
||||
require.NotEmpty(t, bookmarks)
|
||||
|
||||
var bl []*model.ChannelBookmarkWithFileInfo
|
||||
require.Eventuallyf(t, func() bool {
|
||||
event := <-webSocketClient.EventChannel
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkSorted {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmarks"].(string)), &bl)
|
||||
require.NoError(t, err)
|
||||
return true
|
||||
timeout := time.After(5 * time.Second)
|
||||
waiting := true
|
||||
for waiting {
|
||||
select {
|
||||
case event := <-webSocketClient.EventChannel:
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkSorted {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmarks"].(string)), &bl)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
case <-timeout:
|
||||
waiting = false
|
||||
}
|
||||
return false
|
||||
}, 2*time.Second, 250*time.Millisecond, "Websocket event for bookmark sorted not received", nil)
|
||||
}
|
||||
|
||||
require.NotEmpty(t, bl)
|
||||
require.Equal(t, cb.Id, bl[0].Id)
|
||||
@@ -1309,15 +1319,19 @@ func TestDeleteChannelBookmark(t *testing.T) {
|
||||
require.NotEmpty(t, dbm)
|
||||
|
||||
var b *model.ChannelBookmarkWithFileInfo
|
||||
require.Eventuallyf(t, func() bool {
|
||||
if event, ok := <-webSocketClient.EventChannel; ok && event.EventType() == model.WebsocketEventChannelBookmarkDeleted {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmark"].(string)), &b)
|
||||
require.NoError(t, err)
|
||||
return true
|
||||
timeout := time.After(5 * time.Second)
|
||||
waiting := true
|
||||
for waiting {
|
||||
select {
|
||||
case event := <-webSocketClient.EventChannel:
|
||||
if event.EventType() == model.WebsocketEventChannelBookmarkDeleted {
|
||||
err := json.Unmarshal([]byte(event.GetData()["bookmark"].(string)), &b)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
case <-timeout:
|
||||
waiting = false
|
||||
}
|
||||
return false
|
||||
}, 2*time.Second, 250*time.Millisecond, "Websocket event for bookmark deleted not received", nil)
|
||||
|
||||
}
|
||||
require.NotEmpty(t, b)
|
||||
require.Equal(t, cb.Id, b.Id)
|
||||
require.NotEmpty(t, b.DeleteAt)
|
||||
|
||||
Ссылка в новой задаче
Block a user