mirror of
https://github.com/coder/coder.git
synced 2025-07-03 16:13:58 +00:00
chore: assign user to multiple orgs in coderdtest user create (#13867)
* chore: coderdtest assign user to multiple orgs on create
This commit is contained in:
@ -605,12 +605,18 @@ func NewExternalProvisionerDaemon(t testing.TB, client *codersdk.Client, org uui
|
||||
|
||||
// Without this check, the provisioner will silently fail.
|
||||
entitlements, err := client.Entitlements(context.Background())
|
||||
if err == nil {
|
||||
feature := entitlements.Features[codersdk.FeatureExternalProvisionerDaemons]
|
||||
if !feature.Enabled || feature.Entitlement != codersdk.EntitlementEntitled {
|
||||
require.NoError(t, xerrors.Errorf("external provisioner daemons require an entitled license"))
|
||||
return nil
|
||||
}
|
||||
if err != nil {
|
||||
// AGPL instances will throw this error. They cannot use external
|
||||
// provisioners.
|
||||
t.Errorf("external provisioners requires a license with entitlements. The client failed to fetch the entitlements, is this an enterprise instance of coderd?")
|
||||
t.FailNow()
|
||||
return nil
|
||||
}
|
||||
|
||||
feature := entitlements.Features[codersdk.FeatureExternalProvisionerDaemons]
|
||||
if !feature.Enabled || feature.Entitlement != codersdk.EntitlementEntitled {
|
||||
require.NoError(t, xerrors.Errorf("external provisioner daemons require an entitled license"))
|
||||
return nil
|
||||
}
|
||||
|
||||
echoClient, echoServer := drpc.MemTransportPipe()
|
||||
@ -796,13 +802,30 @@ func createAnotherUserRetry(t testing.TB, client *codersdk.Client, organizationI
|
||||
user, err = client.UpdateUserRoles(context.Background(), user.ID.String(), codersdk.UpdateRoles{Roles: db2sdk.List(siteRoles, onlyName)})
|
||||
require.NoError(t, err, "update site roles")
|
||||
|
||||
// isMember keeps track of which orgs the user was added to as a member
|
||||
isMember := map[uuid.UUID]bool{
|
||||
organizationID: true,
|
||||
}
|
||||
|
||||
// Update org roles
|
||||
for orgID, roles := range orgRoles {
|
||||
// The user must be an organization of any orgRoles, so insert
|
||||
// the organization member, then assign the roles.
|
||||
if !isMember[orgID] {
|
||||
_, err = client.PostOrganizationMember(context.Background(), orgID, user.ID.String())
|
||||
require.NoError(t, err, "add user to organization as member")
|
||||
}
|
||||
|
||||
_, err = client.UpdateOrganizationMemberRoles(context.Background(), orgID, user.ID.String(),
|
||||
codersdk.UpdateRoles{Roles: db2sdk.List(roles, onlyName)})
|
||||
require.NoError(t, err, "update org membership roles")
|
||||
isMember[orgID] = true
|
||||
}
|
||||
}
|
||||
|
||||
user, err = client.User(context.Background(), user.Username)
|
||||
require.NoError(t, err, "update final user")
|
||||
|
||||
return other, user
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user