Lock wrangler behind enterprise (#25703)

* Lock wrangler behind enterprise

* Run tests with SetupEnterprise so Thread Moving is unlocked. Tweak NewTestLicense to include a SkuShortName for 'enterprise'

* Don't set SkuShortName in NewTestLicense just in case. Fix up some old debug code in tests

* Remove checks on enterprise/e20 and just enforce that the workspace has any license

* Update admin_definition.tsx accordingly

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Nick Misasi
2024-01-05 13:20:37 -05:00
коммит произвёл GitHub
родитель ac854498a4
Коммит e52940cd08
4 изменённых файлов: 6 добавлений и 11 удалений

Просмотреть файл

@@ -1136,7 +1136,7 @@ func moveThread(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if !c.App.Config().FeatureFlags.MoveThreadsEnabled {
if !c.App.Config().FeatureFlags.MoveThreadsEnabled || c.App.License() == nil {
c.Err = model.NewAppError("moveThread", "api.post.move_thread.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}

Просмотреть файл

@@ -733,9 +733,11 @@ func TestCreatePostWithOutgoingHook_no_content_type(t *testing.T) {
func TestMoveThread(t *testing.T) {
os.Setenv("MM_FEATUREFLAGS_MOVETHREADSENABLED", "true")
defer os.Unsetenv("MM_FEATUREFLAGS_MOVETHREADSENABLED")
th := Setup(t).InitBasic()
th := SetupEnterprise(t).InitBasic()
defer th.TearDown()
th.App.Srv().SetLicense(model.NewTestLicenseSKU(model.LicenseShortSkuEnterprise))
client := th.Client
ctx := context.Background()
@@ -949,13 +951,6 @@ func TestMoveThread(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, resp)
require.NotNil(t, posts)
// There should be 3 posts, the system join message for the user who moved it joining the channel, and the two posts in the thread
// require.Equal(t, 3, len(posts.Posts))
fmt.Println(posts.Order)
for _, p := range posts.Order {
fmt.Println(posts.Posts[p].Id)
fmt.Println(posts.Posts[p].Message)
}
require.Equal(t, "This thread was moved from another channel", posts.Posts[posts.Order[0]].Message)
require.Equal(t, newPost2.Message, posts.Posts[posts.Order[1]].Message)
require.Equal(t, newPost.Message, posts.Posts[posts.Order[2]].Message)

Просмотреть файл

@@ -3203,7 +3203,7 @@ const AdminDefinition: AdminDefinitionType = {
url: 'site_config/wrangler',
title: t('admin.sidebar.move_thread'),
title_default: 'Move Thread (Beta)',
isHidden: it.any(it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.SITE.POSTS)), it.configIsFalse('FeatureFlags', 'MoveThreadsEnabled')),
isHidden: it.any(it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.SITE.POSTS)), it.configIsFalse('FeatureFlags', 'MoveThreadsEnabled'), it.not(it.licensed)),
schema: {
id: 'WranglerSettings',
name: t('admin.site.move_thread'),

Просмотреть файл

@@ -277,7 +277,7 @@ export function cloudReverseTrial(state: GlobalState): boolean {
}
export function moveThreadsEnabled(state: GlobalState): boolean {
return getFeatureFlagValue(state, 'MoveThreadsEnabled') === 'true';
return getFeatureFlagValue(state, 'MoveThreadsEnabled') === 'true' && getLicense(state).IsLicensed === 'true';
}
export function streamlinedMarketplaceEnabled(state: GlobalState): boolean {