Shared channels auto-share DM & group messages (#26097)
* option for auto inviting plugin to all shared channels. * auto-invite remotes to shared channels when flag set
Этот коммит содержится в:
@@ -12,33 +12,32 @@ import (
|
||||
"github.com/mattermost/mattermost/server/v8/channels/testlib"
|
||||
|
||||
"github.com/mattermost/mattermost/server/v8/channels/app"
|
||||
"github.com/mattermost/mattermost/server/v8/platform/services/remotecluster"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
)
|
||||
|
||||
func setupForSharedChannels(tb testing.TB) *TestHelper {
|
||||
return setupConfig(tb, func(cfg *model.Config) {
|
||||
*cfg.ExperimentalSettings.EnableRemoteClusterService = true
|
||||
*cfg.ExperimentalSettings.EnableSharedChannels = true
|
||||
})
|
||||
}
|
||||
|
||||
func TestShareProviderDoCommand(t *testing.T) {
|
||||
t.Run("share command sends a websocket channel converted event", func(t *testing.T) {
|
||||
th := setup(t).initBasic()
|
||||
th := setupForSharedChannels(t).initBasic()
|
||||
defer th.tearDown()
|
||||
|
||||
th.addPermissionToRole(model.PermissionManageSharedChannels.Id, th.BasicUser.Roles)
|
||||
|
||||
mockSyncService := app.NewMockSharedChannelService(nil, app.MockOptionSharedChannelServiceWithActive(true))
|
||||
mockSyncService := app.NewMockSharedChannelService(th.Server.GetSharedChannelSyncService())
|
||||
th.Server.SetSharedChannelSyncService(mockSyncService)
|
||||
remoteClusterService, err := remotecluster.NewRemoteClusterService(th.Server, th.App)
|
||||
require.NoError(t, err)
|
||||
|
||||
th.Server.SetRemoteClusterService(remoteClusterService)
|
||||
testCluster := &testlib.FakeClusterInterface{}
|
||||
th.Server.Platform().SetCluster(testCluster)
|
||||
|
||||
err = remoteClusterService.Start()
|
||||
require.NoError(t, err)
|
||||
defer remoteClusterService.Shutdown()
|
||||
|
||||
commandProvider := ShareProvider{}
|
||||
channel := th.CreateChannel(th.BasicTeam, WithShared(false))
|
||||
|
||||
@@ -61,24 +60,17 @@ func TestShareProviderDoCommand(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("unshare command sends a websocket channel converted event", func(t *testing.T) {
|
||||
th := setup(t).initBasic()
|
||||
th := setupForSharedChannels(t).initBasic()
|
||||
defer th.tearDown()
|
||||
|
||||
th.addPermissionToRole(model.PermissionManageSharedChannels.Id, th.BasicUser.Roles)
|
||||
|
||||
mockSyncService := app.NewMockSharedChannelService(nil)
|
||||
mockSyncService := app.NewMockSharedChannelService(th.Server.GetSharedChannelSyncService())
|
||||
th.Server.SetSharedChannelSyncService(mockSyncService)
|
||||
remoteClusterService, err := remotecluster.NewRemoteClusterService(th.Server, th.App)
|
||||
require.NoError(t, err)
|
||||
|
||||
th.Server.SetRemoteClusterService(remoteClusterService)
|
||||
testCluster := &testlib.FakeClusterInterface{}
|
||||
th.Server.Platform().SetCluster(testCluster)
|
||||
|
||||
err = remoteClusterService.Start()
|
||||
require.NoError(t, err)
|
||||
defer remoteClusterService.Shutdown()
|
||||
|
||||
commandProvider := ShareProvider{}
|
||||
channel := th.CreateChannel(th.BasicTeam, WithShared(true))
|
||||
args := &model.CommandArgs{
|
||||
|
||||
Ссылка в новой задаче
Block a user