Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit056fc17

Browse files
committed
Add codersdk roles
1 parent3f7e2cb commit056fc17

File tree

6 files changed

+49
-38
lines changed

6 files changed

+49
-38
lines changed

‎cli/server_createadminuser_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/coder/coder/v2/coderd/database/dbtime"
1818
"github.com/coder/coder/v2/coderd/rbac"
1919
"github.com/coder/coder/v2/coderd/userpassword"
20+
"github.com/coder/coder/v2/codersdk"
2021
"github.com/coder/coder/v2/pty/ptytest"
2122
"github.com/coder/coder/v2/testutil"
2223
)
@@ -56,7 +57,7 @@ func TestServerCreateAdminUser(t *testing.T) {
5657
require.NoError(t,err)
5758
require.True(t,ok,"password does not match")
5859

59-
require.EqualValues(t, []string{rbac.RoleOwner().String()},user.RBACRoles,"user does not have owner role")
60+
require.EqualValues(t, []string{codersdk.RoleOwner},user.RBACRoles,"user does not have owner role")
6061

6162
// Check that user is admin in every org.
6263
orgs,err:=db.GetOrganizations(ctx)

‎coderd/httpmw/authorize_test.go

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,26 @@ func TestExtractUserRoles(t *testing.T) {
2727
t.Parallel()
2828
testCases:= []struct {
2929
Namestring
30-
AddUserfunc(db database.Store) (database.User, []string,string)
30+
AddUserfunc(db database.Store) (database.User, []rbac.RoleName,string)
3131
}{
3232
{
3333
Name:"Member",
34-
AddUser:func(db database.Store) (database.User, []string,string) {
35-
roles:= []string{}
36-
user,token:=addUser(t,db,roles...)
37-
returnuser,append(roles,rbac.RoleMember()),token
34+
AddUser:func(db database.Store) (database.User, []rbac.RoleName,string) {
35+
user,token:=addUser(t,db)
36+
returnuser, []rbac.RoleName{rbac.RoleMember()},token
3837
},
3938
},
4039
{
41-
Name:"Admin",
42-
AddUser:func(db database.Store) (database.User, []string,string) {
43-
roles:= []string{rbac.RoleOwner()}
40+
Name:"Owner",
41+
AddUser:func(db database.Store) (database.User, []rbac.RoleName,string) {
42+
roles:= []string{codersdk.RoleOwner}
4443
user,token:=addUser(t,db,roles...)
45-
returnuser,append(roles,rbac.RoleMember()),token
44+
returnuser,[]rbac.RoleName{rbac.RoleOwner(),rbac.RoleMember()},token
4645
},
4746
},
4847
{
4948
Name:"OrgMember",
50-
AddUser:func(db database.Store) (database.User, []string,string) {
49+
AddUser:func(db database.Store) (database.User, []rbac.RoleName,string) {
5150
roles:= []string{}
5251
user,token:=addUser(t,db,roles...)
5352
org,err:=db.InsertOrganization(context.Background(), database.InsertOrganizationParams{
@@ -68,15 +67,15 @@ func TestExtractUserRoles(t *testing.T) {
6867
Roles:orgRoles,
6968
})
7069
require.NoError(t,err)
71-
returnuser,append(roles,append(orgRoles,rbac.RoleMember(),rbac.ScopedRoleOrgMember(org.ID))...),token
70+
returnuser,[]rbac.RoleName{rbac.RoleMember(),rbac.ScopedRoleOrgMember(org.ID)},token
7271
},
7372
},
7473
{
7574
Name:"MultipleOrgMember",
76-
AddUser:func(db database.Store) (database.User, []string,string) {
77-
roles:= []string{}
78-
user,token:=addUser(t,db,roles...)
79-
roles=append(roles,rbac.RoleMember())
75+
AddUser:func(db database.Store) (database.User, []rbac.RoleName,string) {
76+
expected:= []rbac.RoleName{}
77+
user,token:=addUser(t,db)
78+
expected=append(expected,rbac.RoleMember())
8079
fori:=0;i<3;i++ {
8180
organization,err:=db.InsertOrganization(context.Background(), database.InsertOrganizationParams{
8281
ID:uuid.New(),
@@ -89,8 +88,8 @@ func TestExtractUserRoles(t *testing.T) {
8988

9089
orgRoles:= []string{}
9190
ifi%2==0 {
92-
orgRoles=append(orgRoles,rbac.RoleOrgAdmin())
93-
roles=append(roles,rbac.ScopedRoleOrgAdmin(organization.ID))
91+
orgRoles=append(orgRoles,codersdk.RoleOrganizationAdmin)
92+
expected=append(expected,rbac.ScopedRoleOrgAdmin(organization.ID))
9493
}
9594
_,err=db.InsertOrganizationMember(context.Background(), database.InsertOrganizationMemberParams{
9695
OrganizationID:organization.ID,
@@ -100,9 +99,9 @@ func TestExtractUserRoles(t *testing.T) {
10099
Roles:orgRoles,
101100
})
102101
require.NoError(t,err)
103-
roles=append(roles,rbac.ScopedRoleOrgMember(organization.ID))
102+
expected=append(expected,rbac.ScopedRoleOrgMember(organization.ID))
104103
}
105-
returnuser,roles,token
104+
returnuser,expected,token
106105
},
107106
},
108107
}

‎coderd/httpmw/organizationparam_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/coder/coder/v2/coderd/database/dbmem"
1717
"github.com/coder/coder/v2/coderd/database/dbtime"
1818
"github.com/coder/coder/v2/coderd/httpmw"
19-
"github.com/coder/coder/v2/coderd/rbac"
2019
"github.com/coder/coder/v2/codersdk"
2120
"github.com/coder/coder/v2/testutil"
2221
)
@@ -152,11 +151,11 @@ func TestOrganizationParam(t *testing.T) {
152151
_=dbgen.OrganizationMember(t,db, database.OrganizationMember{
153152
OrganizationID:organization.ID,
154153
UserID:user.ID,
155-
Roles: []string{rbac.ScopedRoleOrgMember(organization.ID)},
154+
Roles: []string{codersdk.RoleOrganizationMember},
156155
})
157156
_,err:=db.UpdateUserRoles(ctx, database.UpdateUserRolesParams{
158157
ID:user.ID,
159-
GrantedRoles: []string{rbac.RoleTemplateAdmin()},
158+
GrantedRoles: []string{codersdk.RoleTemplateAdmin},
160159
})
161160
require.NoError(t,err)
162161

‎coderd/httpmw/ratelimit_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/coder/coder/v2/coderd/database/dbgen"
1717
"github.com/coder/coder/v2/coderd/database/dbmem"
1818
"github.com/coder/coder/v2/coderd/httpmw"
19-
"github.com/coder/coder/v2/coderd/rbac"
2019
"github.com/coder/coder/v2/codersdk"
2120
)
2221

@@ -117,7 +116,7 @@ func TestRateLimit(t *testing.T) {
117116
db:=dbmem.New()
118117

119118
u:=dbgen.User(t,db, database.User{
120-
RBACRoles: []string{rbac.RoleOwner()},
119+
RBACRoles: []string{codersdk.RoleOwner},
121120
})
122121
_,key:=dbgen.APIKey(t,db, database.APIKey{UserID:u.ID})
123122

‎coderd/users_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ func TestGrantSiteRoles(t *testing.T) {
994994
Name:"UserNotExists",
995995
Client:admin,
996996
AssignToUser:uuid.NewString(),
997-
Roles: []string{rbac.RoleOwner()},
997+
Roles: []string{codersdk.RoleOwner},
998998
Error:true,
999999
StatusCode:http.StatusBadRequest,
10001000
},
@@ -1020,7 +1020,7 @@ func TestGrantSiteRoles(t *testing.T) {
10201020
Client:admin,
10211021
OrgID:first.OrganizationID,
10221022
AssignToUser:codersdk.Me,
1023-
Roles: []string{rbac.RoleOwner()},
1023+
Roles: []string{codersdk.RoleOwner},
10241024
Error:true,
10251025
StatusCode:http.StatusBadRequest,
10261026
},
@@ -1057,9 +1057,9 @@ func TestGrantSiteRoles(t *testing.T) {
10571057
Name:"UserAdminMakeMember",
10581058
Client:userAdmin,
10591059
AssignToUser:newUser,
1060-
Roles: []string{rbac.RoleMember()},
1060+
Roles: []string{codersdk.RoleMember},
10611061
ExpectedRoles: []string{
1062-
rbac.RoleMember(),
1062+
codersdk.RoleMember,
10631063
},
10641064
Error:false,
10651065
},
@@ -1124,7 +1124,7 @@ func TestInitialRoles(t *testing.T) {
11241124
roles,err:=client.UserRoles(ctx,codersdk.Me)
11251125
require.NoError(t,err)
11261126
require.ElementsMatch(t,roles.Roles, []string{
1127-
rbac.RoleOwner(),
1127+
codersdk.RoleOwner,
11281128
},"should be a member and admin")
11291129

11301130
require.ElementsMatch(t,roles.OrganizationRoles[first.OrganizationID], []string{},"should be a member")
@@ -1289,12 +1289,12 @@ func TestUsersFilter(t *testing.T) {
12891289
users:=make([]codersdk.User,0)
12901290
users=append(users,firstUser)
12911291
fori:=0;i<15;i++ {
1292-
roles:= []string{}
1292+
roles:= []rbac.RoleName{}
12931293
ifi%2==0 {
12941294
roles=append(roles,rbac.RoleTemplateAdmin(),rbac.RoleUserAdmin())
12951295
}
12961296
ifi%3==0 {
1297-
roles=append(roles,"auditor")
1297+
roles=append(roles,rbac.RoleAuditor())
12981298
}
12991299
userClient,userData:=coderdtest.CreateAnotherUser(t,client,first.OrganizationID,roles...)
13001300
// Set the last seen for each user to a unique day
@@ -1379,12 +1379,12 @@ func TestUsersFilter(t *testing.T) {
13791379
{
13801380
Name:"Admins",
13811381
Filter: codersdk.UsersRequest{
1382-
Role:rbac.RoleOwner(),
1382+
Role:codersdk.RoleOwner,
13831383
Status:codersdk.UserStatusSuspended+","+codersdk.UserStatusActive,
13841384
},
13851385
FilterF:func(_ codersdk.UsersRequest,u codersdk.User)bool {
13861386
for_,r:=rangeu.Roles {
1387-
ifr.Name==rbac.RoleOwner() {
1387+
ifr.Name==codersdk.RoleOwner {
13881388
returntrue
13891389
}
13901390
}
@@ -1399,7 +1399,7 @@ func TestUsersFilter(t *testing.T) {
13991399
},
14001400
FilterF:func(_ codersdk.UsersRequest,u codersdk.User)bool {
14011401
for_,r:=rangeu.Roles {
1402-
ifr.Name==rbac.RoleOwner() {
1402+
ifr.Name==codersdk.RoleOwner {
14031403
returntrue
14041404
}
14051405
}
@@ -1409,7 +1409,7 @@ func TestUsersFilter(t *testing.T) {
14091409
{
14101410
Name:"Members",
14111411
Filter: codersdk.UsersRequest{
1412-
Role:rbac.RoleMember(),
1412+
Role:codersdk.RoleMember,
14131413
Status:codersdk.UserStatusSuspended+","+codersdk.UserStatusActive,
14141414
},
14151415
FilterF:func(_ codersdk.UsersRequest,u codersdk.User)bool {
@@ -1423,7 +1423,7 @@ func TestUsersFilter(t *testing.T) {
14231423
},
14241424
FilterF:func(_ codersdk.UsersRequest,u codersdk.User)bool {
14251425
for_,r:=rangeu.Roles {
1426-
ifr.Name==rbac.RoleOwner() {
1426+
ifr.Name==codersdk.RoleOwner {
14271427
return (strings.ContainsAny(u.Username,"iI")||strings.ContainsAny(u.Email,"iI"))&&
14281428
u.Status==codersdk.UserStatusActive
14291429
}
@@ -1438,7 +1438,7 @@ func TestUsersFilter(t *testing.T) {
14381438
},
14391439
FilterF:func(_ codersdk.UsersRequest,u codersdk.User)bool {
14401440
for_,r:=rangeu.Roles {
1441-
ifr.Name==rbac.RoleOwner() {
1441+
ifr.Name==codersdk.RoleOwner {
14421442
return (strings.ContainsAny(u.Username,"iI")||strings.ContainsAny(u.Email,"iI"))&&
14431443
u.Status==codersdk.UserStatusActive
14441444
}

‎codersdk/rbacroles.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package codersdk
2+
3+
// Ideally this roles would be generated from the rbac/roles.go package.
4+
const (
5+
RoleOwnerstring="owner"
6+
RoleMemberstring="member"
7+
RoleTemplateAdminstring="template-admin"
8+
RoleUserAdminstring="user-admin"
9+
RoleAuditorstring="auditor"
10+
11+
RoleOrganizationAdminstring="organization-admin"
12+
RoleOrganizationMemberstring="organization-member"
13+
)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp