MCPcopy Create free account
hub / github.com/chainloop-dev/chainloop / TestSyncRBACRoles

Function TestSyncRBACRoles

app/controlplane/pkg/authz/authz_test.go:27–60  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25)
26
27func TestSyncRBACRoles(t *testing.T) {
28 e, closer := testEnforcer(t)
29 defer closer.Close()
30
31 // load all the roles
32 err := syncRBACRoles(e, &Config{RolesMap: RolesMap})
33 assert.NoError(t, err)
34
35 // Check the inherited roles owner -> admin -> viewer
36 u, err := e.GetUsersForRole(string(RoleViewer))
37 assert.NoError(t, err)
38 // admin is a viewer
39 assert.Equal(t, string(RoleAdmin), u[0])
40 // owner is an admin
41 u, err = e.GetUsersForRole(string(RoleAdmin))
42 assert.NoError(t, err)
43 assert.Equal(t, string(RoleOwner), u[0])
44
45 // Make sure we are adding all the policies for the listed roles
46 for r, policies := range RolesMap {
47 got, err := e.GetFilteredPolicy(0, string(r))
48 assert.NoError(t, err)
49 assert.Len(t, got, len(policies))
50 }
51
52 // Check that an admin can inherit the policies from the viewer
53 ok, err := e.Enforce(string(RoleAdmin), PolicyWorkflowContractList)
54 assert.NoError(t, err)
55 assert.True(t, ok)
56 // and owner from viewer
57 ok, err = e.Enforce(string(RoleOwner), PolicyWorkflowContractList)
58 assert.NoError(t, err)
59 assert.True(t, ok)
60}
61
62func TestDoSync(t *testing.T) {
63 e, closer := testEnforcer(t)

Callers

nothing calls this directly

Calls 4

testEnforcerFunction · 0.85
syncRBACRolesFunction · 0.85
EnforceMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected