Skip to content

Commit

Permalink
Lock wrangler behind enterprise (#25703)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
nickmisasi and mattermost-build committed Jan 5, 2024
1 parent ac85449 commit e52940c
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 11 deletions.
2 changes: 1 addition & 1 deletion server/channels/api4/post.go
Expand Up @@ -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
}
Expand Down
11 changes: 3 additions & 8 deletions server/channels/api4/post_test.go
Expand Up @@ -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()
Expand Down Expand Up @@ -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)
Expand Down
Expand Up @@ -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'),
Expand Down
Expand Up @@ -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 {
Expand Down

0 comments on commit e52940c

Please sign in to comment.