MM-21976: Include cache layer to be tested (#13749)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
c9a0418a32
Коммит
b162cf92cd
@@ -20,6 +20,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"
|
||||
@@ -52,11 +53,13 @@ type TestHelper struct {
|
||||
SystemAdminClient *model.Client4
|
||||
SystemAdminUser *model.User
|
||||
tempWorkspace string
|
||||
|
||||
IncludeCacheLayer bool
|
||||
}
|
||||
|
||||
var mainHelper *testlib.MainHelper
|
||||
|
||||
func setupTestHelper(dbStore store.Store, enterprise bool, updateConfig func(*model.Config)) *TestHelper {
|
||||
func setupTestHelper(dbStore store.Store, enterprise bool, includeCache bool, updateConfig func(*model.Config)) *TestHelper {
|
||||
tempWorkspace, err := ioutil.TempDir("", "apptest")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@@ -83,11 +86,16 @@ func setupTestHelper(dbStore store.Store, enterprise bool, updateConfig func(*mo
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if includeCache {
|
||||
// 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,
|
||||
ConfigStore: memoryStore,
|
||||
App: s.FakeApp(),
|
||||
Server: s,
|
||||
ConfigStore: memoryStore,
|
||||
IncludeCacheLayer: includeCache,
|
||||
}
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
@@ -151,7 +159,7 @@ func SetupEnterprise(tb testing.TB) *TestHelper {
|
||||
dbStore := mainHelper.GetStore()
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
return setupTestHelper(dbStore, true, nil)
|
||||
return setupTestHelper(dbStore, true, true, nil)
|
||||
}
|
||||
|
||||
func Setup(tb testing.TB) *TestHelper {
|
||||
@@ -166,7 +174,7 @@ func Setup(tb testing.TB) *TestHelper {
|
||||
dbStore := mainHelper.GetStore()
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
return setupTestHelper(dbStore, false, nil)
|
||||
return setupTestHelper(dbStore, false, true, nil)
|
||||
}
|
||||
|
||||
func SetupConfig(tb testing.TB, updateConfig func(cfg *model.Config)) *TestHelper {
|
||||
@@ -181,11 +189,11 @@ func SetupConfig(tb testing.TB, updateConfig func(cfg *model.Config)) *TestHelpe
|
||||
dbStore := mainHelper.GetStore()
|
||||
dbStore.DropAllTables()
|
||||
dbStore.MarkSystemRanUnitTests()
|
||||
return setupTestHelper(dbStore, false, updateConfig)
|
||||
return setupTestHelper(dbStore, false, true, updateConfig)
|
||||
}
|
||||
|
||||
func SetupConfigWithStoreMock(tb testing.TB, updateConfig func(cfg *model.Config)) *TestHelper {
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), false, updateConfig)
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), false, false, updateConfig)
|
||||
emptyMockStore := mocks.Store{}
|
||||
emptyMockStore.On("Close").Return(nil)
|
||||
th.App.Srv().Store = &emptyMockStore
|
||||
@@ -193,7 +201,7 @@ func SetupConfigWithStoreMock(tb testing.TB, updateConfig func(cfg *model.Config
|
||||
}
|
||||
|
||||
func SetupWithStoreMock(tb testing.TB) *TestHelper {
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), false, nil)
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), false, false, nil)
|
||||
emptyMockStore := mocks.Store{}
|
||||
emptyMockStore.On("Close").Return(nil)
|
||||
th.App.Srv().Store = &emptyMockStore
|
||||
@@ -201,7 +209,7 @@ func SetupWithStoreMock(tb testing.TB) *TestHelper {
|
||||
}
|
||||
|
||||
func SetupEnterpriseWithStoreMock(tb testing.TB) *TestHelper {
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), true, nil)
|
||||
th := setupTestHelper(testlib.GetMockStoreForSetupFunctions(), true, false, nil)
|
||||
emptyMockStore := mocks.Store{}
|
||||
emptyMockStore.On("Close").Return(nil)
|
||||
th.App.Srv().Store = &emptyMockStore
|
||||
@@ -226,6 +234,10 @@ func (me *TestHelper) ShutdownApp() {
|
||||
|
||||
func (me *TestHelper) TearDown() {
|
||||
utils.DisableDebugLogForTest()
|
||||
if me.IncludeCacheLayer {
|
||||
// Clean all the caches
|
||||
me.App.InvalidateAllCaches()
|
||||
}
|
||||
|
||||
me.ShutdownApp()
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import (
|
||||
"github.com/mattermost/mattermost-server/v5/app"
|
||||
"github.com/mattermost/mattermost-server/v5/model"
|
||||
"github.com/mattermost/mattermost-server/v5/services/mailservice"
|
||||
"github.com/mattermost/mattermost-server/v5/store/localcachelayer"
|
||||
"github.com/mattermost/mattermost-server/v5/utils/testutils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -4365,8 +4364,6 @@ func TestLoginLockout(t *testing.T) {
|
||||
func TestDemoteUserToGuest(t *testing.T) {
|
||||
t.Run("websocket update user event", func(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
th.Server.Store = localcachelayer.NewLocalCacheLayer(th.Server.Store,
|
||||
th.Server.Metrics, th.Server.Cluster, th.Server.CacheProvider)
|
||||
defer th.TearDown()
|
||||
|
||||
user := th.BasicUser
|
||||
@@ -4413,15 +4410,12 @@ func TestDemoteUserToGuest(t *testing.T) {
|
||||
require.True(t, ok, "expected user")
|
||||
assert.Equal(t, "system_guest", eventUser.Roles)
|
||||
})
|
||||
th.App.InvalidateAllCaches()
|
||||
})
|
||||
}
|
||||
|
||||
func TestPromoteGuestToUser(t *testing.T) {
|
||||
t.Run("websocket update user event", func(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
th.Server.Store = localcachelayer.NewLocalCacheLayer(th.Server.Store,
|
||||
th.Server.Metrics, th.Server.Cluster, th.Server.CacheProvider)
|
||||
defer th.TearDown()
|
||||
|
||||
user := th.BasicUser
|
||||
@@ -4469,6 +4463,5 @@ func TestPromoteGuestToUser(t *testing.T) {
|
||||
require.True(t, ok, "expected user")
|
||||
assert.Equal(t, "system_user", eventUser.Roles)
|
||||
})
|
||||
th.App.InvalidateAllCaches()
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user