https://mattermost.atlassian.net/browse/MM-52079 ```release-note We upgrade the module version to 8.0. The new module path is github.com/mattermost-server/server/v8. ``` Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
63 строки
2.2 KiB
Go
63 строки
2.2 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package remotecluster
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/mattermost/mattermost-server/server/v8/channels/einterfaces"
|
|
"github.com/mattermost/mattermost-server/server/v8/channels/store"
|
|
"github.com/mattermost/mattermost-server/server/v8/channels/store/storetest/mocks"
|
|
"github.com/mattermost/mattermost-server/server/v8/model"
|
|
"github.com/mattermost/mattermost-server/server/v8/platform/shared/mlog"
|
|
"github.com/mattermost/mattermost-server/server/v8/plugin/plugintest/mock"
|
|
)
|
|
|
|
type mockServer struct {
|
|
remotes []*model.RemoteCluster
|
|
logger *mlog.Logger
|
|
user *model.User
|
|
}
|
|
|
|
func newMockServer(remotes []*model.RemoteCluster) *mockServer {
|
|
testLogger := mlog.CreateConsoleTestLogger(true, mlog.LvlDebug)
|
|
|
|
return &mockServer{
|
|
remotes: remotes,
|
|
logger: testLogger,
|
|
}
|
|
}
|
|
|
|
func (ms *mockServer) SetUser(user *model.User) {
|
|
ms.user = user
|
|
}
|
|
|
|
func (ms *mockServer) Config() *model.Config { return nil }
|
|
func (ms *mockServer) GetMetrics() einterfaces.MetricsInterface { return nil }
|
|
func (ms *mockServer) IsLeader() bool { return true }
|
|
func (ms *mockServer) AddClusterLeaderChangedListener(listener func()) string { return model.NewId() }
|
|
func (ms *mockServer) RemoveClusterLeaderChangedListener(id string) {}
|
|
func (ms *mockServer) Log() *mlog.Logger {
|
|
return ms.logger
|
|
}
|
|
func (ms *mockServer) GetStore() store.Store {
|
|
anyQueryFilter := mock.MatchedBy(func(filter model.RemoteClusterQueryFilter) bool {
|
|
return true
|
|
})
|
|
anyUserId := mock.AnythingOfType("string")
|
|
|
|
remoteClusterStoreMock := &mocks.RemoteClusterStore{}
|
|
remoteClusterStoreMock.On("GetByTopic", "share").Return(ms.remotes, nil)
|
|
remoteClusterStoreMock.On("GetAll", anyQueryFilter).Return(ms.remotes, nil)
|
|
|
|
userStoreMock := &mocks.UserStore{}
|
|
userStoreMock.On("Get", context.Background(), anyUserId).Return(ms.user, nil)
|
|
|
|
storeMock := &mocks.Store{}
|
|
storeMock.On("RemoteCluster").Return(remoteClusterStoreMock)
|
|
storeMock.On("User").Return(userStoreMock)
|
|
return storeMock
|
|
}
|
|
func (ms *mockServer) Shutdown() { ms.logger.Shutdown() }
|