MM-21976: Include cache layer to be tested (#13749)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
c9a0418a32
Коммит
b162cf92cd
@@ -17,6 +17,7 @@ import (
|
||||
"github.com/mattermost/mattermost-server/v5/mlog"
|
||||
"github.com/mattermost/mattermost-server/v5/model"
|
||||
"github.com/mattermost/mattermost-server/v5/store"
|
||||
"github.com/mattermost/mattermost-server/v5/store/localcachelayer"
|
||||
"github.com/mattermost/mattermost-server/v5/store/storetest/mocks"
|
||||
"github.com/mattermost/mattermost-server/v5/testlib"
|
||||
"github.com/mattermost/mattermost-server/v5/utils"
|
||||
@@ -35,9 +36,11 @@ type TestHelper struct {
|
||||
SystemAdminUser *model.User
|
||||
|
||||
tempWorkspace string
|
||||
|
||||
IncludeCacheLayer bool
|
||||
}
|
||||
|
||||
func setupTestHelper(dbStore store.Store, enterprise bool, tb testing.TB, configSet func(*model.Config)) *TestHelper {
|
||||
func setupTestHelper(dbStore store.Store, enterprise bool, includeCacheLayer bool, tb testing.TB, configSet func(*model.Config)) *TestHelper {
|
||||
tempWorkspace, err := ioutil.TempDir("", "apptest")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@@ -66,9 +69,15 @@ func setupTestHelper(dbStore store.Store, enterprise bool, tb testing.TB, config
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if includeCacheLayer {
|
||||
// Adds the cache layer to the test store
|
||||
s.Store = localcachelayer.NewLocalCacheLayer(s.Store, s.Metrics, s.Cluster, s.CacheProvider)
|
||||
}
|
||||
|
||||
th := &TestHelper{
|
||||
App: s.FakeApp(),
|
||||
Server: s,
|
||||
App: s.FakeApp(),
|
||||
Server: s,
|
||||
IncludeCacheLayer: includeCacheLayer,
|
||||
}
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxUsersPerTeam = 50 })
|
||||
@@ -113,7 +122,7 @@ func SetupEnterprise(tb testing.TB) *TestHelper {
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
|
||||
return setupTestHelper(dbStore, true, tb, nil)
|
||||
return setupTestHelper(dbStore, true, true, tb, nil)
|
||||
}
|
||||
|
||||
func Setup(tb testing.TB) *TestHelper {
|
||||
@@ -124,12 +133,12 @@ func Setup(tb testing.TB) *TestHelper {
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
|
||||
return setupTestHelper(dbStore, false, tb, nil)
|
||||
return setupTestHelper(dbStore, false, true, tb, nil)
|
||||
}
|
||||
|
||||
func SetupWithStoreMock(tb testing.TB) *TestHelper {
|
||||
mockStore := testlib.GetMockStoreForSetupFunctions()
|
||||
th := setupTestHelper(mockStore, false, tb, nil)
|
||||
th := setupTestHelper(mockStore, false, false, tb, nil)
|
||||
emptyMockStore := mocks.Store{}
|
||||
emptyMockStore.On("Close").Return(nil)
|
||||
th.App.Srv().Store = &emptyMockStore
|
||||
@@ -138,7 +147,7 @@ func SetupWithStoreMock(tb testing.TB) *TestHelper {
|
||||
|
||||
func SetupEnterpriseWithStoreMock(tb testing.TB) *TestHelper {
|
||||
mockStore := testlib.GetMockStoreForSetupFunctions()
|
||||
th := setupTestHelper(mockStore, true, tb, nil)
|
||||
th := setupTestHelper(mockStore, true, false, tb, nil)
|
||||
emptyMockStore := mocks.Store{}
|
||||
emptyMockStore.On("Close").Return(nil)
|
||||
th.App.Srv().Store = &emptyMockStore
|
||||
@@ -153,7 +162,7 @@ func SetupWithCustomConfig(tb testing.TB, configSet func(*model.Config)) *TestHe
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
|
||||
return setupTestHelper(dbStore, false, tb, configSet)
|
||||
return setupTestHelper(dbStore, false, true, tb, configSet)
|
||||
}
|
||||
|
||||
var initBasicOnce sync.Once
|
||||
@@ -543,6 +552,10 @@ func (me *TestHelper) ShutdownApp() {
|
||||
}
|
||||
|
||||
func (me *TestHelper) TearDown() {
|
||||
if me.IncludeCacheLayer {
|
||||
// Clean all the caches
|
||||
me.App.InvalidateAllCaches()
|
||||
}
|
||||
me.ShutdownApp()
|
||||
if err := recover(); err != nil {
|
||||
panic(err)
|
||||
|
||||
Ссылка в новой задаче
Block a user