github.com/mattermost/mattermost-server/v5@v5.39.3/api4/bleve_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package api4 5 6 import ( 7 "testing" 8 9 "github.com/mattermost/mattermost-server/v5/model" 10 ) 11 12 func TestBlevePurgeIndexes(t *testing.T) { 13 th := Setup(t) 14 defer th.TearDown() 15 16 t.Run("as system user", func(t *testing.T) { 17 _, resp := th.Client.PurgeBleveIndexes() 18 CheckForbiddenStatus(t, resp) 19 }) 20 21 t.Run("as system user with write experimental permission", func(t *testing.T) { 22 th.AddPermissionToRole(model.PERMISSION_PURGE_BLEVE_INDEXES.Id, model.SYSTEM_USER_ROLE_ID) 23 defer th.RemovePermissionFromRole(model.PERMISSION_SYSCONSOLE_WRITE_EXPERIMENTAL.Id, model.SYSTEM_USER_ROLE_ID) 24 _, resp := th.Client.PurgeBleveIndexes() 25 CheckOKStatus(t, resp) 26 }) 27 28 t.Run("as system admin", func(t *testing.T) { 29 _, resp := th.SystemAdminClient.PurgeBleveIndexes() 30 CheckOKStatus(t, resp) 31 }) 32 33 t.Run("as restricted system admin", func(t *testing.T) { 34 th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ExperimentalSettings.RestrictSystemAdmin = true }) 35 36 _, resp := th.SystemAdminClient.PurgeBleveIndexes() 37 CheckForbiddenStatus(t, resp) 38 }) 39 }