@@ -112,6 +112,7 @@ func TestRolePermissions(t *testing.T) {
112
112
// Subjects to user
113
113
memberMe := authSubject {Name : "member_me" , Actor : rbac.Subject {ID : currentUser .String (), Roles : rbac.RoleIdentifiers {rbac .RoleMember ()}}}
114
114
orgMemberMe := authSubject {Name : "org_member_me" , Actor : rbac.Subject {ID : currentUser .String (), Roles : rbac.RoleIdentifiers {rbac .RoleMember (), rbac .ScopedRoleOrgMember (orgID )}}}
115
+ orgMemberMeBanWorkspace := authSubject {Name : "org_member_me_workspace_ban" , Actor : rbac.Subject {ID : currentUser .String (), Roles : rbac.RoleIdentifiers {rbac .RoleMember (), rbac .ScopedRoleOrgMember (orgID ), rbac .ScopedRoleOrgWorkspaceCreationBan (orgID )}}}
115
116
groupMemberMe := authSubject {Name : "group_member_me" , Actor : rbac.Subject {ID : currentUser .String (), Roles : rbac.RoleIdentifiers {rbac .RoleMember (), rbac .ScopedRoleOrgMember (orgID )}, Groups : []string {groupID .String ()}}}
116
117
117
118
owner := authSubject {Name : "owner" , Actor : rbac.Subject {ID : adminID .String (), Roles : rbac.RoleIdentifiers {rbac .RoleMember (), rbac .RoleOwner ()}}}
@@ -181,20 +182,30 @@ func TestRolePermissions(t *testing.T) {
181
182
Actions : []policy.Action {policy .ActionRead },
182
183
Resource : rbac .ResourceWorkspace .WithID (workspaceID ).InOrg (orgID ).WithOwner (currentUser .String ()),
183
184
AuthorizeMap : map [bool ][]hasAuthSubjects {
184
- true : {owner , orgMemberMe , orgAdmin , templateAdmin , orgTemplateAdmin },
185
+ true : {owner , orgMemberMe , orgAdmin , templateAdmin , orgTemplateAdmin , orgMemberMeBanWorkspace },
185
186
false : {setOtherOrg , memberMe , userAdmin , orgAuditor , orgUserAdmin },
186
187
},
187
188
},
188
189
{
189
- Name : "C_RDMyWorkspaceInOrg " ,
190
+ Name : "UpdateMyWorkspaceInOrg " ,
190
191
// When creating the WithID won't be set, but it does not change the result.
191
- Actions : []policy.Action {policy .ActionCreate , policy . ActionUpdate , policy . ActionDelete },
192
+ Actions : []policy.Action {policy .ActionUpdate },
192
193
Resource : rbac .ResourceWorkspace .WithID (workspaceID ).InOrg (orgID ).WithOwner (currentUser .String ()),
193
194
AuthorizeMap : map [bool ][]hasAuthSubjects {
194
195
true : {owner , orgMemberMe , orgAdmin },
195
196
false : {setOtherOrg , memberMe , userAdmin , templateAdmin , orgTemplateAdmin , orgUserAdmin , orgAuditor },
196
197
},
197
198
},
199
+ {
200
+ Name : "C__DMyWorkspaceInOrg" ,
201
+ // When creating the WithID won't be set, but it does not change the result.
202
+ Actions : []policy.Action {policy .ActionCreate , policy .ActionDelete },
203
+ Resource : rbac .ResourceWorkspace .WithID (workspaceID ).InOrg (orgID ).WithOwner (currentUser .String ()),
204
+ AuthorizeMap : map [bool ][]hasAuthSubjects {
205
+ true : {owner , orgMemberMe , orgAdmin },
206
+ false : {setOtherOrg , memberMe , userAdmin , templateAdmin , orgTemplateAdmin , orgUserAdmin , orgAuditor , orgMemberMeBanWorkspace },
207
+ },
208
+ },
198
209
{
199
210
Name : "MyWorkspaceInOrgExecution" ,
200
211
// When creating the WithID won't be set, but it does not change the result.
0 commit comments