diff --git a/internal/api/grpc/org/v2beta/integration_test/org_test.go b/internal/api/grpc/org/v2beta/integration_test/org_test.go index d419041a8..066087ab7 100644 --- a/internal/api/grpc/org/v2beta/integration_test/org_test.go +++ b/internal/api/grpc/org/v2beta/integration_test/org_test.go @@ -6,6 +6,7 @@ import ( "context" "errors" "os" + "slices" "strings" "testing" "time" @@ -38,7 +39,7 @@ func TestMain(m *testing.M) { Instance = integration.NewInstance(ctx) Client = Instance.Client.OrgV2beta - CTX = Instance.WithAuthorization(ctx, integration.UserTypeIAMOwner) + CTX = Instance.WithAuthorizationToken(ctx, integration.UserTypeIAMOwner) User = Instance.CreateHumanUser(CTX) return m.Run() }()) @@ -60,7 +61,7 @@ func TestServer_CreateOrganization(t *testing.T) { tests := []test{ { name: "missing permission", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeOrgOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeOrgOwner), req: &v2beta_org.CreateOrganizationRequest{ Name: "name", Admins: nil, @@ -294,11 +295,7 @@ func TestServer_CreateOrganization(t *testing.T) { } func TestServer_UpdateOrganization(t *testing.T) { - orgs, orgsName, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, orgsName, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id orgName := orgsName[0] @@ -311,7 +308,7 @@ func TestServer_UpdateOrganization(t *testing.T) { }{ { name: "update org with new name", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.UpdateOrganizationRequest{ Id: orgId, Name: "new org name", @@ -319,7 +316,7 @@ func TestServer_UpdateOrganization(t *testing.T) { }, { name: "update org with same name", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.UpdateOrganizationRequest{ Id: orgId, Name: orgName, @@ -327,7 +324,7 @@ func TestServer_UpdateOrganization(t *testing.T) { }, { name: "update org with non existent org id", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.UpdateOrganizationRequest{ Id: "non existant org id", // Name: "", @@ -336,7 +333,7 @@ func TestServer_UpdateOrganization(t *testing.T) { }, { name: "update org with no id", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.UpdateOrganizationRequest{ Id: "", Name: orgName, @@ -364,18 +361,14 @@ func TestServer_UpdateOrganization(t *testing.T) { func TestServer_ListOrganizations(t *testing.T) { testStartTimestamp := time.Now() ListOrgIinstance := integration.NewInstance(CTX) - listOrgIAmOwnerCtx := ListOrgIinstance.WithAuthorization(CTX, integration.UserTypeIAMOwner) + listOrgIAmOwnerCtx := ListOrgIinstance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner) listOrgClient := ListOrgIinstance.Client.OrgV2beta noOfOrgs := 3 - orgs, orgsName, err := createOrgs(listOrgIAmOwnerCtx, listOrgClient, noOfOrgs) - if err != nil { - require.NoError(t, err) - return - } + orgs, orgsName, orgsDomain := createOrgs(listOrgIAmOwnerCtx, t, listOrgClient, noOfOrgs) // deactivat org[1] - _, err = listOrgClient.DeactivateOrganization(listOrgIAmOwnerCtx, &v2beta_org.DeactivateOrganizationRequest{ + _, err := listOrgClient.DeactivateOrganization(listOrgIAmOwnerCtx, &v2beta_org.DeactivateOrganizationRequest{ Id: orgs[1].Id, }) require.NoError(t, err) @@ -389,7 +382,7 @@ func TestServer_ListOrganizations(t *testing.T) { }{ { name: "list organizations, without required permissions", - ctx: ListOrgIinstance.WithAuthorization(CTX, integration.UserTypeNoPermission), + ctx: ListOrgIinstance.WithAuthorizationToken(CTX, integration.UserTypeNoPermission), err: errors.New("membership not found"), }, { @@ -563,22 +556,7 @@ func TestServer_ListOrganizations(t *testing.T) { { Filter: &v2beta_org.OrganizationSearchFilter_DomainFilter{ DomainFilter: &v2beta_org.OrgDomainFilter{ - Domain: func() string { - listOrgRes, err := listOrgClient.ListOrganizations(listOrgIAmOwnerCtx, &v2beta_org.ListOrganizationsRequest{ - Filter: []*v2beta_org.OrganizationSearchFilter{ - { - Filter: &v2beta_org.OrganizationSearchFilter_IdFilter{ - IdFilter: &v2beta_org.OrgIDFilter{ - Id: orgs[1].Id, - }, - }, - }, - }, - }) - require.NoError(t, err) - domain := listOrgRes.Organizations[0].PrimaryDomain - return domain - }(), + Domain: orgsDomain[1], Method: v2beta_object.TextQueryMethod_TEXT_QUERY_METHOD_EQUALS, }, }, @@ -694,13 +672,9 @@ func TestServer_DeleteOrganization(t *testing.T) { }{ { name: "delete org no permission", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeNoPermission), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeNoPermission), createOrgFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) return orgs[0].Id }, req: &v2beta_org.DeleteOrganizationRequest{}, @@ -708,28 +682,20 @@ func TestServer_DeleteOrganization(t *testing.T) { }, { name: "delete org happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), createOrgFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) return orgs[0].Id }, req: &v2beta_org.DeleteOrganizationRequest{}, }, { name: "delete already deleted org", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), createOrgFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) // delete org - _, err = Client.DeleteOrganization(CTX, &v2beta_org.DeleteOrganizationRequest{Id: orgs[0].Id}) + _, err := Client.DeleteOrganization(CTX, &v2beta_org.DeleteOrganizationRequest{Id: orgs[0].Id}) require.NoError(t, err) return orgs[0].Id @@ -739,7 +705,7 @@ func TestServer_DeleteOrganization(t *testing.T) { }, { name: "delete non existent org", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.DeleteOrganizationRequest{ Id: "non existent org id", }, @@ -770,7 +736,7 @@ func TestServer_DeleteOrganization(t *testing.T) { } func TestServer_DeactivateReactivateNonExistentOrganization(t *testing.T) { - ctx := Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner) + ctx := Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner) // deactivate non existent organization _, err := Client.DeactivateOrganization(ctx, &v2beta_org.DeactivateOrganizationRequest{ @@ -797,11 +763,7 @@ func TestServer_ActivateOrganization(t *testing.T) { ctx: CTX, testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id // 2. deactivate organization once @@ -838,13 +800,9 @@ func TestServer_ActivateOrganization(t *testing.T) { }, { name: "Activate, no permission", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeNoPermission), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeNoPermission), testFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id return orgId }, @@ -863,11 +821,7 @@ func TestServer_ActivateOrganization(t *testing.T) { name: "Activate, already activated", ctx: CTX, testFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id return orgId }, @@ -905,11 +859,7 @@ func TestServer_DeactivateOrganization(t *testing.T) { ctx: CTX, testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id return orgId @@ -917,13 +867,9 @@ func TestServer_DeactivateOrganization(t *testing.T) { }, { name: "Deactivate, no permission", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeNoPermission), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeNoPermission), testFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id return orgId }, @@ -943,11 +889,7 @@ func TestServer_DeactivateOrganization(t *testing.T) { ctx: CTX, testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create orgs") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id // 2. deactivate organization once @@ -1011,11 +953,7 @@ func TestServer_AddOrganizationDomain(t *testing.T) { name: "add org domain, happy path", domain: gofakeit.URL(), testFunc: func() string { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id return orgId }, @@ -1025,11 +963,7 @@ func TestServer_AddOrganizationDomain(t *testing.T) { domain: gofakeit.URL(), testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id domain := gofakeit.URL() @@ -1145,8 +1079,8 @@ func TestServer_AddOrganizationDomain_ClaimDomain(t *testing.T) { }, }, }) - require.NoError(t, err) - require.Len(t, users.GetResult(), 2) + require.NoError(collect, err) + require.Len(collect, users.GetResult(), 2) for _, u := range users.GetResult() { if u.GetUserId() == ownUser.GetUserId() { @@ -1175,11 +1109,7 @@ func TestServer_ListOrganizationDomains(t *testing.T) { domain: domain, testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id // 2. add domain addOrgDomainRes, err := Client.AddOrganizationDomain(CTX, &v2beta_org.AddOrganizationDomainRequest{ @@ -1238,11 +1168,7 @@ func TestServer_DeleteOrganizationDomain(t *testing.T) { domain: domain, testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id // 2. add domain @@ -1263,12 +1189,8 @@ func TestServer_DeleteOrganizationDomain(t *testing.T) { OrganizationId: orgId, }) require.NoError(ttt, err) - found := false - for _, res := range queryRes.Domains { - if res.DomainName == domain { - found = true - } - } + + found := slices.ContainsFunc(queryRes.Domains, func(d *v2beta_org.Domain) bool { return d.GetDomainName() == domain }) require.True(ttt, found, "unable to find added domain") }, retryDuration, tick, "timeout waiting for expected organizations being created") @@ -1280,11 +1202,7 @@ func TestServer_DeleteOrganizationDomain(t *testing.T) { domain: gofakeit.URL(), testFunc: func() string { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return "" - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id domain := gofakeit.URL() @@ -1364,13 +1282,8 @@ func TestServer_AddListDeleteOrganizationDomain(t *testing.T) { name: "add org domain, re-add org domain", testFunc: func() { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id - // ctx := Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner) domain := gofakeit.URL() // 2. add domain @@ -1415,11 +1328,7 @@ func TestServer_AddListDeleteOrganizationDomain(t *testing.T) { name: "add org domain, delete org domain, re-delete org domain", testFunc: func() { // 1. create organization - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id domain := gofakeit.URL() @@ -1446,19 +1355,19 @@ func TestServer_AddListDeleteOrganizationDomain(t *testing.T) { assert.WithinRange(t, gotCD, now.Add(-time.Minute), now.Add(time.Minute)) retryDuration, tick := integration.WaitForAndTickWithMaxDuration(CTX, 10*time.Minute) - require.EventuallyWithT(t, func(t *assert.CollectT) { + require.EventuallyWithT(t, func(ttt *assert.CollectT) { // 3. check organization domain deleted queryRes, err := Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{ OrganizationId: orgId, }) - require.NoError(t, err) + require.NoError(ttt, err) found := false for _, res := range queryRes.Domains { if res.DomainName == domain { found = true } } - require.False(t, found, "deleted domain found") + require.False(ttt, found, "deleted domain found") }, retryDuration, tick, "timeout waiting for expected organizations being created") // 4. redelete organisation domain @@ -1498,14 +1407,10 @@ func TestServer_AddListDeleteOrganizationDomain(t *testing.T) { } func TestServer_ValidateOrganizationDomain(t *testing.T) { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id - _, err = Instance.Client.Admin.UpdateDomainPolicy(CTX, &admin.UpdateDomainPolicyRequest{ + _, err := Instance.Client.Admin.UpdateDomainPolicy(CTX, &admin.UpdateDomainPolicyRequest{ ValidateOrgDomains: true, }) if err != nil && !strings.Contains(err.Error(), "Organisation is already deactivated") { @@ -1527,7 +1432,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { }{ { name: "validate org http happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ OrganizationId: orgId, Domain: domain, @@ -1536,7 +1441,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { }, { name: "validate org http non existnetn org id", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ OrganizationId: "non existent org id", Domain: domain, @@ -1547,7 +1452,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { }, { name: "validate org dns happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ OrganizationId: orgId, Domain: domain, @@ -1556,7 +1461,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { }, { name: "validate org dns non existnetn org id", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ OrganizationId: "non existent org id", Domain: domain, @@ -1567,7 +1472,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { }, { name: "validate org non existnetn domain", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ OrganizationId: orgId, Domain: "non existent domain", @@ -1592,11 +1497,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) { } func TestServer_SetOrganizationMetadata(t *testing.T) { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id tests := []struct { @@ -1610,14 +1511,14 @@ func TestServer_SetOrganizationMetadata(t *testing.T) { }{ { name: "set org metadata", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), orgId: orgId, key: "key1", value: "value1", }, { name: "set org metadata on non existant org", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), orgId: "non existant orgid", key: "key2", value: "value2", @@ -1625,7 +1526,7 @@ func TestServer_SetOrganizationMetadata(t *testing.T) { }, { name: "update org metadata", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1644,7 +1545,7 @@ func TestServer_SetOrganizationMetadata(t *testing.T) { }, { name: "update org metadata with same value", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1713,11 +1614,7 @@ func TestServer_SetOrganizationMetadata(t *testing.T) { } func TestServer_ListOrganizationMetadata(t *testing.T) { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id tests := []struct { @@ -1732,7 +1629,7 @@ func TestServer_ListOrganizationMetadata(t *testing.T) { }{ { name: "list org metadata happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1755,7 +1652,7 @@ func TestServer_ListOrganizationMetadata(t *testing.T) { }, { name: "list multiple org metadata happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1794,7 +1691,7 @@ func TestServer_ListOrganizationMetadata(t *testing.T) { }, { name: "list org metadata for non existent org", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), orgId: "non existent orgid", keyValuePairs: []struct{ key, value string }{}, }, @@ -1821,18 +1718,14 @@ func TestServer_ListOrganizationMetadata(t *testing.T) { } } } - require.Equal(ttt, len(tt.keyValuePairs), foundMetadataCount) + require.Len(ttt, tt.keyValuePairs, foundMetadataCount) }, retryDuration, tick, "timeout waiting for expected organizations being created") }) } } func TestServer_DeleteOrganizationMetadata(t *testing.T) { - orgs, _, err := createOrgs(CTX, Client, 1) - if err != nil { - assert.Fail(t, "unable to create org") - return - } + orgs, _, _ := createOrgs(CTX, t, Client, 1) orgId := orgs[0].Id tests := []struct { @@ -1852,7 +1745,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { }{ { name: "delete org metadata happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1875,7 +1768,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { }, { name: "delete multiple org metadata happy path", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1906,7 +1799,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { }, { name: "delete some org metadata but not all", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1948,7 +1841,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { }, { name: "delete org metadata that does not exist", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -1971,7 +1864,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { }, { name: "delete org metadata for org that does not exist", - ctx: Instance.WithAuthorization(CTX, integration.UserTypeIAMOwner), + ctx: Instance.WithAuthorizationToken(CTX, integration.UserTypeIAMOwner), setupFunc: func() { _, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{ OrganizationId: orgId, @@ -2024,7 +1917,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { } // run delete - _, err = Client.DeleteOrganizationMetadata(tt.ctx, &v2beta_org.DeleteOrganizationMetadataRequest{ + _, err := Client.DeleteOrganizationMetadata(tt.ctx, &v2beta_org.DeleteOrganizationMetadataRequest{ OrganizationId: tt.orgId, Keys: keys, }) @@ -2072,25 +1965,45 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) { } } -func createOrgs(ctx context.Context, client v2beta_org.OrganizationServiceClient, noOfOrgs int) ([]*v2beta_org.CreateOrganizationResponse, []string, error) { +func createOrgs(ctx context.Context, t *testing.T, client v2beta_org.OrganizationServiceClient, noOfOrgs int) ([]*v2beta_org.CreateOrganizationResponse, []string, []string) { var err error orgs := make([]*v2beta_org.CreateOrganizationResponse, noOfOrgs) - orgsName := make([]string, noOfOrgs) + orgNames := make([]string, noOfOrgs) + orgDomains := make([]string, noOfOrgs) for i := range noOfOrgs { - orgName := gofakeit.Name() - orgsName[i] = orgName + orgName := integration.OrganizationName() + orgNames[i] = orgName orgs[i], err = client.CreateOrganization(ctx, &v2beta_org.CreateOrganizationRequest{ Name: orgName, }, ) - if err != nil { - return nil, nil, err - } + require.NoError(t, err) } - return orgs, orgsName, nil + retryDuration, tick := integration.WaitForAndTickWithMaxDuration(ctx, time.Minute) + for i := range noOfOrgs { + require.EventuallyWithT(t, func(collect *assert.CollectT) { + listOrgRes, err := client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{ + Filter: []*v2beta_org.OrganizationSearchFilter{ + { + Filter: &v2beta_org.OrganizationSearchFilter_IdFilter{ + IdFilter: &v2beta_org.OrgIDFilter{ + Id: orgs[i].Id, + }, + }, + }, + }, + }) + require.NoError(collect, err) + require.Len(collect, listOrgRes.Organizations, 1) + + orgDomains[i] = listOrgRes.Organizations[0].PrimaryDomain + }, retryDuration, tick, "timeout waiting for org creation") + } + + return orgs, orgNames, orgDomains } func assertCreatedAdmin(t *testing.T, expected, got *v2beta_org.CreatedAdmin) {