summaryrefslogtreecommitdiffstats
path: root/app/authorization_test.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-01-23 08:12:05 -0500
committerGitHub <noreply@github.com>2017-01-23 08:12:05 -0500
commite9c9688b343049c6d461260bd15fff3486238f92 (patch)
treea112e51de0e7f9989b173b7dbc4ad89080cc0e34 /app/authorization_test.go
parentb064457c745ae6bf27e5e6933a0a7406f3f4921d (diff)
downloadchat-e9c9688b343049c6d461260bd15fff3486238f92.tar.gz
chat-e9c9688b343049c6d461260bd15fff3486238f92.tar.bz2
chat-e9c9688b343049c6d461260bd15fff3486238f92.zip
Move permissions code into app package (#5146)
* Move permissions code into app package * Revert getPosts permission
Diffstat (limited to 'app/authorization_test.go')
-rw-r--r--app/authorization_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/authorization_test.go b/app/authorization_test.go
new file mode 100644
index 000000000..049567483
--- /dev/null
+++ b/app/authorization_test.go
@@ -0,0 +1,36 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package app
+
+import (
+ "testing"
+
+ "github.com/mattermost/platform/model"
+)
+
+func TestCheckIfRolesGrantPermission(t *testing.T) {
+ Setup()
+
+ cases := []struct {
+ roles []string
+ permissionId string
+ shouldGrant bool
+ }{
+ {[]string{model.ROLE_SYSTEM_ADMIN.Id}, model.ROLE_SYSTEM_ADMIN.Permissions[0], true},
+ {[]string{model.ROLE_SYSTEM_ADMIN.Id}, "non-existant-permission", false},
+ {[]string{model.ROLE_CHANNEL_USER.Id}, model.ROLE_CHANNEL_USER.Permissions[0], true},
+ {[]string{model.ROLE_CHANNEL_USER.Id}, model.PERMISSION_MANAGE_SYSTEM.Id, false},
+ {[]string{model.ROLE_SYSTEM_ADMIN.Id, model.ROLE_CHANNEL_USER.Id}, model.PERMISSION_MANAGE_SYSTEM.Id, true},
+ {[]string{model.ROLE_CHANNEL_USER.Id, model.ROLE_SYSTEM_ADMIN.Id}, model.PERMISSION_MANAGE_SYSTEM.Id, true},
+ {[]string{model.ROLE_TEAM_USER.Id, model.ROLE_TEAM_ADMIN.Id}, model.PERMISSION_MANAGE_SLASH_COMMANDS.Id, true},
+ {[]string{model.ROLE_TEAM_ADMIN.Id, model.ROLE_TEAM_USER.Id}, model.PERMISSION_MANAGE_SLASH_COMMANDS.Id, true},
+ }
+
+ for testnum, testcase := range cases {
+ if CheckIfRolesGrantPermission(testcase.roles, testcase.permissionId) != testcase.shouldGrant {
+ t.Fatal("Failed test case ", testnum)
+ }
+ }
+
+}