Fix MM-42270 (#19692)
* [MM-42270] - Fix MM-42270 * clean test code Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
a2fc602bc2
Коммит
f6fef9362b
@@ -76,6 +76,11 @@ func generateSupportPacket(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
const FileMime = "application/zip"
|
const FileMime = "application/zip"
|
||||||
const OutputDirectory = "support_packet"
|
const OutputDirectory = "support_packet"
|
||||||
|
|
||||||
|
if *c.App.Config().ExperimentalSettings.RestrictSystemAdmin {
|
||||||
|
c.Err = model.NewAppError("generateSupportPacket", "api.restricted_system_admin", nil, "", http.StatusForbidden)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Checking to see if the user is a admin of any sort or not
|
// Checking to see if the user is a admin of any sort or not
|
||||||
// If they are a admin, they should theoretically have access to one or more of the system console read permissions
|
// If they are a admin, they should theoretically have access to one or more of the system console read permissions
|
||||||
if !c.App.SessionHasPermissionToAny(*c.AppContext.Session(), model.SysconsoleReadPermissions) {
|
if !c.App.SessionHasPermissionToAny(*c.AppContext.Session(), model.SysconsoleReadPermissions) {
|
||||||
|
|||||||
@@ -208,6 +208,20 @@ func TestGenerateSupportPacket(t *testing.T) {
|
|||||||
require.NotZero(t, len(file))
|
require.NotZero(t, len(file))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("As a System Administrator but with RestrictSystemAdmin true", func(t *testing.T) {
|
||||||
|
originalRestrictSystemAdminVal := *th.App.Config().ExperimentalSettings.RestrictSystemAdmin
|
||||||
|
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ExperimentalSettings.RestrictSystemAdmin = true })
|
||||||
|
defer func() {
|
||||||
|
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||||
|
*cfg.ExperimentalSettings.RestrictSystemAdmin = originalRestrictSystemAdminVal
|
||||||
|
})
|
||||||
|
}()
|
||||||
|
|
||||||
|
_, resp, err := th.SystemAdminClient.GenerateSupportPacket()
|
||||||
|
require.Error(t, err)
|
||||||
|
CheckForbiddenStatus(t, resp)
|
||||||
|
})
|
||||||
|
|
||||||
t.Run("As a Regular User", func(t *testing.T) {
|
t.Run("As a Regular User", func(t *testing.T) {
|
||||||
_, resp, err := th.Client.GenerateSupportPacket()
|
_, resp, err := th.Client.GenerateSupportPacket()
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user