(t *testing.T)
| 302 | } |
| 303 | |
| 304 | func TestGrantSiteRoles(t *testing.T) { |
| 305 | t.Parallel() |
| 306 | |
| 307 | requireStatusCode := func(t *testing.T, err error, statusCode int) { |
| 308 | t.Helper() |
| 309 | var e *codersdk.Error |
| 310 | require.ErrorAs(t, err, &e, "error is codersdk error") |
| 311 | require.Equal(t, statusCode, e.StatusCode(), "correct status code") |
| 312 | } |
| 313 | |
| 314 | dv := coderdtest.DeploymentValues(t) |
| 315 | admin, first := coderdenttest.New(t, &coderdenttest.Options{ |
| 316 | Options: &coderdtest.Options{ |
| 317 | DeploymentValues: dv, |
| 318 | }, |
| 319 | LicenseOptions: &coderdenttest.LicenseOptions{ |
| 320 | Features: license.Features{ |
| 321 | codersdk.FeatureMultipleOrganizations: 1, |
| 322 | codersdk.FeatureExternalProvisionerDaemons: 1, |
| 323 | }, |
| 324 | }, |
| 325 | }) |
| 326 | |
| 327 | member, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID) |
| 328 | orgAdmin, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID, rbac.ScopedRoleOrgAdmin(first.OrganizationID)) |
| 329 | randOrg := coderdenttest.CreateOrganization(t, admin, coderdenttest.CreateOrganizationOptions{}) |
| 330 | |
| 331 | _, randOrgUser := coderdtest.CreateAnotherUser(t, admin, randOrg.ID, rbac.ScopedRoleOrgAdmin(randOrg.ID)) |
| 332 | userAdmin, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID, rbac.RoleUserAdmin()) |
| 333 | |
| 334 | const newUser = "newUser" |
| 335 | |
| 336 | testCases := []struct { |
| 337 | Name string |
| 338 | Client *codersdk.Client |
| 339 | OrgID uuid.UUID |
| 340 | AssignToUser string |
| 341 | Roles []string |
| 342 | ExpectedRoles []string |
| 343 | Error bool |
| 344 | StatusCode int |
| 345 | }{ |
| 346 | { |
| 347 | Name: "OrgRoleInSite", |
| 348 | Client: admin, |
| 349 | AssignToUser: codersdk.Me, |
| 350 | Roles: []string{rbac.RoleOrgAdmin()}, |
| 351 | Error: true, |
| 352 | StatusCode: http.StatusBadRequest, |
| 353 | }, |
| 354 | { |
| 355 | Name: "UserNotExists", |
| 356 | Client: admin, |
| 357 | AssignToUser: uuid.NewString(), |
| 358 | Roles: []string{codersdk.RoleOwner}, |
| 359 | Error: true, |
| 360 | StatusCode: http.StatusNotFound, |
| 361 | }, |
nothing calls this directly
no test coverage detected