MM-28537 System role with write experimental should be able to purge indexes (#15557)

Этот коммит содержится в:
Farhan Munshi
2020-09-24 11:26:00 -04:00
коммит произвёл GitHub
родитель e8a18ab6a6
Коммит 4ef44a3ba1
2 изменённых файлов: 9 добавлений и 2 удалений

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

@@ -18,8 +18,8 @@ func purgeBleveIndexes(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec := c.MakeAuditRecord("purgeBleveIndexes", audit.Fail)
defer c.LogAuditRec(auditRec)
if !c.App.SessionHasPermissionTo(*c.App.Session(), model.PERMISSION_MANAGE_SYSTEM) {
c.SetPermissionError(model.PERMISSION_MANAGE_SYSTEM)
if !c.App.SessionHasPermissionTo(*c.App.Session(), model.PERMISSION_SYSCONSOLE_WRITE_EXPERIMENTAL) {
c.SetPermissionError(model.PERMISSION_SYSCONSOLE_WRITE_EXPERIMENTAL)
return
}

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

@@ -18,6 +18,13 @@ func TestBlevePurgeIndexes(t *testing.T) {
CheckForbiddenStatus(t, resp)
})
t.Run("as system user with write experimental permission", func(t *testing.T) {
th.AddPermissionToRole(model.PERMISSION_SYSCONSOLE_WRITE_EXPERIMENTAL.Id, model.SYSTEM_USER_ROLE_ID)
defer th.RemovePermissionFromRole(model.PERMISSION_SYSCONSOLE_WRITE_EXPERIMENTAL.Id, model.SYSTEM_USER_ROLE_ID)
_, resp := th.Client.PurgeBleveIndexes()
CheckOKStatus(t, resp)
})
t.Run("as system admin", func(t *testing.T) {
_, resp := th.SystemAdminClient.PurgeBleveIndexes()
CheckOKStatus(t, resp)