MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestCheckPermissions

Function TestCheckPermissions

rest/admin_api_auth_test.go:24–138  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

22)
23
24func TestCheckPermissions(t *testing.T) {
25 if base.UnitTestUrlIsWalrus() {
26 t.Skip("Test requires Couchbase Server")
27 }
28
29 clusterAdminPermission := Permission{"!admin", false}
30 clusterReadOnlyAdminPermission := Permission{"!ro_admin", false}
31
32 testCases := []struct {
33 Name string
34 Username string
35 Password string
36 RequestPermissions []Permission
37 ResponsePermissions []Permission
38 ExpectedStatusCode int
39 ExpectedPermissionResults map[string]bool
40 CreateUser string
41 CreatePassword string
42 CreateRoles []string
43 }{
44 {
45 Name: "ClusterAdminTest",
46 Username: base.TestClusterUsername(),
47 Password: base.TestClusterPassword(),
48 RequestPermissions: []Permission{clusterAdminPermission},
49 ExpectedStatusCode: http.StatusOK,
50 ExpectedPermissionResults: nil,
51 },
52 {
53 Name: "CreatedAdmin",
54 Username: "CreatedAdmin",
55 Password: "password",
56 RequestPermissions: []Permission{clusterAdminPermission},
57 ExpectedStatusCode: http.StatusOK,
58 ExpectedPermissionResults: nil,
59 CreateUser: "CreatedAdmin",
60 CreatePassword: "password",
61 CreateRoles: []string{"admin"},
62 },
63 {
64 Name: "Non-Existent User",
65 Username: "NonExistent",
66 Password: "",
67 RequestPermissions: []Permission{clusterAdminPermission},
68 ExpectedStatusCode: http.StatusUnauthorized,
69 ExpectedPermissionResults: nil,
70 },
71 {
72 Name: "Wrong Password",
73 Username: "WrongPassUser",
74 Password: "incorrectPass",
75 RequestPermissions: nil,
76 ExpectedStatusCode: http.StatusUnauthorized,
77 ExpectedPermissionResults: nil,
78 CreateUser: "WrongPassUser",
79 CreatePassword: "password",
80 CreateRoles: nil,
81 },

Callers

nothing calls this directly

Calls 13

CloseMethod · 0.95
ServerContextMethod · 0.95
RunMethod · 0.95
UnitTestUrlIsWalrusFunction · 0.92
TestClusterUsernameFunction · 0.92
TestClusterPasswordFunction · 0.92
TestCtxFunction · 0.92
NewRestTesterFunction · 0.85
MakeUserFunction · 0.85
DeleteUserFunction · 0.85
CheckPermissionsFunction · 0.85

Tested by

no test coverage detected