@@ -119,37 +119,37 @@ func TestFrobulators(t *testing.T) {
119
119
t .Parallel ()
120
120
121
121
tests := []struct {
122
- name string
123
- member codersdk.User
124
- memberOrg database.Organization
125
- adminOrg database.Organization
126
- role rbac.RoleIdentifier
127
- expectedFrob uuid.UUID
128
- expectedErr string
122
+ name string
123
+ member codersdk.User
124
+ memberOrg database.Organization
125
+ adminOrg database.Organization
126
+ role rbac.RoleIdentifier
127
+ expectedFrobIDs [] uuid.UUID
128
+ expectedErr string
129
129
}{
130
130
{
131
- name : "owner, same org" ,
132
- member : member1 ,
133
- memberOrg : org1 ,
134
- adminOrg : org1 ,
135
- role : rbac .RoleOwner (),
136
- expectedFrob : frobulatorID ,
131
+ name : "owner, same org" ,
132
+ member : member1 ,
133
+ memberOrg : org1 ,
134
+ adminOrg : org1 ,
135
+ role : rbac .RoleOwner (),
136
+ expectedFrobIDs : []uuid. UUID { frobulatorID } ,
137
137
},
138
138
{
139
- name : "owner, different org" ,
140
- member : member2 ,
141
- memberOrg : org2 ,
142
- adminOrg : org1 ,
143
- role : rbac .RoleOwner (),
144
- expectedFrob : frobulator2ID ,
139
+ name : "owner, different org" ,
140
+ member : member2 ,
141
+ memberOrg : org2 ,
142
+ adminOrg : org1 ,
143
+ role : rbac .RoleOwner (),
144
+ expectedFrobIDs : []uuid. UUID { frobulator2ID } ,
145
145
},
146
146
{
147
- name : "org admin, same org" ,
148
- member : member2 ,
149
- memberOrg : org2 ,
150
- adminOrg : org2 ,
151
- role : rbac .ScopedRoleOrgAdmin (org2 .ID ),
152
- expectedFrob : frobulator2ID ,
147
+ name : "org admin, same org" ,
148
+ member : member2 ,
149
+ memberOrg : org2 ,
150
+ adminOrg : org2 ,
151
+ role : rbac .ScopedRoleOrgAdmin (org2 .ID ),
152
+ expectedFrobIDs : []uuid. UUID { frobulator2ID } ,
153
153
},
154
154
{
155
155
// Org admins do not have permission outside of their own org.
@@ -162,12 +162,13 @@ func TestFrobulators(t *testing.T) {
162
162
},
163
163
{
164
164
// User admins do not have permissions even inside their own org.
165
- name : "user admin, same org" ,
166
- member : member2 ,
167
- memberOrg : org2 ,
168
- adminOrg : org2 ,
169
- role : rbac .ScopedRoleOrgUserAdmin (org2 .ID ),
170
- expectedErr : "500: An internal server error occurred" ,
165
+ // They will simply not see any frobulators to which they do not have access.
166
+ name : "user admin, same org" ,
167
+ member : member2 ,
168
+ memberOrg : org2 ,
169
+ adminOrg : org2 ,
170
+ role : rbac .ScopedRoleOrgUserAdmin (org2 .ID ),
171
+ expectedFrobIDs : []uuid.UUID {},
171
172
},
172
173
}
173
174
@@ -187,17 +188,13 @@ func TestFrobulators(t *testing.T) {
187
188
return
188
189
}
189
190
190
- // Then : the expected frobulator should be returned
191
+ // Otherwise : the expected frobulator(s) should be returned
191
192
require .NoError (t , err )
192
- require .Len (t , frobs , 1 )
193
-
194
- var found bool
193
+ actualFrobIDs := make ([]uuid.UUID , 0 , len (frobs ))
195
194
for _ , f := range frobs {
196
- if f .ID == tc .expectedFrob {
197
- found = true
198
- }
195
+ actualFrobIDs = append (actualFrobIDs , f .ID )
199
196
}
200
- require .True (t , found , "reference frobulator not found" )
197
+ require .ElementsMatch (t , tc . expectedFrobIDs , actualFrobIDs , "expected frobulator IDs not found" )
201
198
})
202
199
}
203
200
})
0 commit comments