Fix flaky TestCreatePost and others (#29320)

We don't clear the Redis cache for every test.
This can cause issues because the cache is shared
across test. We fix that with this PR.
```release-note
NONE
```
This commit is contained in:
Agniva De Sarker
2024-11-19 14:23:37 +05:30
committed by GitHub
parent aa0d117f30
commit c6a7a8f628
2 changed files with 6 additions and 2 deletions

View File

@@ -165,7 +165,6 @@ func TestCreatePost(t *testing.T) {
select {
case event := <-WebSocketClient.EventChannel:
if event.EventType() == model.WebsocketEventEphemeralMessage {
require.Equal(t, model.WebsocketEventEphemeralMessage, event.EventType())
eventsToGo = eventsToGo - 1
}
case <-timeout:
@@ -3129,7 +3128,7 @@ func TestWebHubMembership(t *testing.T) {
}
func TestWebHubCloseConnOnDBFail(t *testing.T) {
t.Skip("https://mattermost.atlassian.net/browse/MM-61780")
t.Skip("MM-61780")
th := Setup(t).InitBasic()
defer func() {
th.TearDown()

View File

@@ -44,6 +44,8 @@ func StoreOverride(override any) Option {
}
}
// StoreOverrideWithCache is a test option to construct the app with the store layer
// wrapped on top of the store that is passed.
func StoreOverrideWithCache(override store.Store) Option {
return func(ps *PlatformService) error {
ps.newStore = func() (store.Store, error) {
@@ -51,6 +53,9 @@ func StoreOverrideWithCache(override store.Store) Option {
if err != nil {
return nil, err
}
// Clearing all the caches because the in-mem data
// is persisted in case of Redis.
lcl.Invalidate()
return lcl, nil
}