Skip to content

Commit 1d6e8db

Browse files
Refac/stackittpr 229 provider config builder 2 (#1332)
* refac(acc_tests) replace provider snippets with config builder * fix(acc_test) inline provider config calls * fix(lint) fixup imports * Update stackit/internal/testutil/testutil.go Co-authored-by: Ruben Hönle <Ruben.Hoenle@stackit.cloud> --------- Co-authored-by: Ruben Hönle <Ruben.Hoenle@stackit.cloud>
1 parent 5c52e10 commit 1d6e8db

31 files changed

+654
-1263
lines changed

stackit/internal/services/alb/alb_acc_test.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"github.com/stackitcloud/stackit-sdk-go/services/alb/v2api/wait"
1616
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1717

18-
stackitSdkConfig "github.com/stackitcloud/stackit-sdk-go/core/config"
1918
"github.com/stackitcloud/stackit-sdk-go/core/utils"
2019
albSdk "github.com/stackitcloud/stackit-sdk-go/services/alb/v2api"
2120
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/testutil"
@@ -149,7 +148,7 @@ func TestAccALBResourceMin(t *testing.T) {
149148
// Creation
150149
{
151150
ConfigVariables: testConfigVarsMin,
152-
Config: testutil.ALBProviderConfig() + resourceMinConfig,
151+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMinConfig,
153152
Check: resource.ComposeAggregateTestCheckFunc(
154153
// Load balancer instance resource
155154
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "project_id", testutil.ConvertConfigVariable(testConfigVarsMin["project_id"])),
@@ -187,7 +186,7 @@ func TestAccALBResourceMin(t *testing.T) {
187186
name = stackit_application_load_balancer.loadbalancer.name
188187
}
189188
`,
190-
testutil.ALBProviderConfig()+resourceMinConfig,
189+
testutil.NewConfigBuilder().BuildProviderConfig()+resourceMinConfig,
191190
),
192191
Check: resource.ComposeAggregateTestCheckFunc(
193192
// Load balancer instance
@@ -284,7 +283,7 @@ func TestAccALBResourceMin(t *testing.T) {
284283
// Update
285284
{
286285
ConfigVariables: configVarsMinUpdated(),
287-
Config: testutil.ALBProviderConfig() + resourceMinConfig,
286+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMinConfig,
288287
Check: resource.ComposeAggregateTestCheckFunc(
289288
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "project_id", testutil.ConvertConfigVariable(testConfigVarsMin["project_id"])),
290289
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "name", testutil.ConvertConfigVariable(testConfigVarsMin["loadbalancer_name"])),
@@ -325,7 +324,7 @@ func TestAccALBResourceMax(t *testing.T) {
325324
// Creation
326325
{
327326
ConfigVariables: testConfigVarsMax,
328-
Config: testutil.ALBProviderConfig() + resourceMaxConfig,
327+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMaxConfig,
329328
Check: resource.ComposeAggregateTestCheckFunc(
330329
// Load balancer instance resource
331330
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "project_id", testutil.ConvertConfigVariable(testConfigVarsMax["project_id"])),
@@ -420,7 +419,7 @@ func TestAccALBResourceMax(t *testing.T) {
420419
name = stackit_application_load_balancer.loadbalancer.name
421420
}
422421
`,
423-
testutil.ALBProviderConfig()+resourceMaxConfig,
422+
testutil.NewConfigBuilder().BuildProviderConfig()+resourceMaxConfig,
424423
),
425424
Check: resource.ComposeAggregateTestCheckFunc(
426425
// Load balancer instance
@@ -529,7 +528,7 @@ func TestAccALBResourceMax(t *testing.T) {
529528
// Update
530529
{
531530
ConfigVariables: configVarsMaxUpdated(),
532-
Config: testutil.ALBProviderConfig() + resourceMaxConfig,
531+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMaxConfig,
533532
Check: resource.ComposeAggregateTestCheckFunc(
534533
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "project_id", testutil.ConvertConfigVariable(testConfigVarsMax["project_id"])),
535534
resource.TestCheckResourceAttr("stackit_application_load_balancer.loadbalancer", "region", testutil.ConvertConfigVariable(testConfigVarsMax["region"])),
@@ -621,15 +620,8 @@ func TestAccALBResourceMax(t *testing.T) {
621620

622621
func testAccCheckALBDestroy(s *terraform.State) error {
623622
ctx := context.Background()
624-
var client *albSdk.APIClient
625-
var err error
626-
if testutil.ALBCustomEndpoint == "" {
627-
client, err = albSdk.NewAPIClient()
628-
} else {
629-
client, err = albSdk.NewAPIClient(
630-
stackitSdkConfig.WithEndpoint(testutil.ALBCustomEndpoint),
631-
)
632-
}
623+
client, err := albSdk.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.ALBCustomEndpoint, false)...)
624+
633625
if err != nil {
634626
return fmt.Errorf("creating client: %w", err)
635627
}

stackit/internal/services/authorization/authorization_acc_test.go

Lines changed: 19 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
1717
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1818
"github.com/hashicorp/terraform-plugin-testing/terraform"
19-
stackitSdkConfig "github.com/stackitcloud/stackit-sdk-go/core/config"
2019
"github.com/stackitcloud/stackit-sdk-go/core/utils"
2120
"github.com/stackitcloud/stackit-sdk-go/services/authorization"
2221
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
@@ -147,7 +146,7 @@ func TestAccProjectRoleAssignmentResource(t *testing.T) {
147146
// Creation
148147
{
149148
ConfigVariables: testConfigVarsProjectRoleAssignment,
150-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceProjectRoleAssignment,
149+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceProjectRoleAssignment,
151150
Check: resource.ComposeAggregateTestCheckFunc(
152151
resource.TestCheckResourceAttr("stackit_resourcemanager_project.project", "name", testutil.ConvertConfigVariable(testConfigVarsProjectRoleAssignment["name"])),
153152
resource.TestCheckResourceAttr("stackit_resourcemanager_project.project", "owner_email", testutil.ConvertConfigVariable(testConfigVarsProjectRoleAssignment["owner_email"])),
@@ -194,7 +193,7 @@ func TestAccProjectRoleAssignmentResource(t *testing.T) {
194193
// Update
195194
{
196195
ConfigVariables: testConfigVarsProjectRoleAssignmentUpdated(),
197-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceProjectRoleAssignment,
196+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceProjectRoleAssignment,
198197
Check: resource.ComposeAggregateTestCheckFunc(
199198
resource.TestCheckResourceAttr("stackit_resourcemanager_project.project", "name", testutil.ConvertConfigVariable(testConfigVarsProjectRoleAssignmentUpdated()["name"])),
200199
resource.TestCheckResourceAttr("stackit_resourcemanager_project.project", "owner_email", testutil.ConvertConfigVariable(testConfigVarsProjectRoleAssignmentUpdated()["owner_email"])),
@@ -214,7 +213,7 @@ func TestAccProjectRoleAssignmentResource(t *testing.T) {
214213
// Duplicate assignment should fail
215214
{
216215
ConfigVariables: testConfigVarsProjectRoleAssignmentUpdated(),
217-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceProjectRoleAssignmentDuplicate,
216+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceProjectRoleAssignmentDuplicate,
218217
ExpectError: regexp.MustCompile(`Error while checking for duplicate role assignments`),
219218
},
220219

@@ -233,7 +232,7 @@ func TestAccFolderRoleAssignmentResource(t *testing.T) {
233232
// Creation
234233
{
235234
ConfigVariables: testConfigVarsFolderRoleAssignment,
236-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceFolderRoleAssignment,
235+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceFolderRoleAssignment,
237236
Check: resource.ComposeAggregateTestCheckFunc(
238237
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.folder", "name", testutil.ConvertConfigVariable(testConfigVarsFolderRoleAssignment["name"])),
239238
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.folder", "owner_email", testutil.ConvertConfigVariable(testConfigVarsFolderRoleAssignment["owner_email"])),
@@ -280,7 +279,7 @@ func TestAccFolderRoleAssignmentResource(t *testing.T) {
280279
// Update
281280
{
282281
ConfigVariables: testConfigVarsFolderRoleAssignmentUpdated(),
283-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceFolderRoleAssignment,
282+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceFolderRoleAssignment,
284283
Check: resource.ComposeAggregateTestCheckFunc(
285284
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.folder", "name", testutil.ConvertConfigVariable(testConfigVarsFolderRoleAssignmentUpdated()["name"])),
286285
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.folder", "owner_email", testutil.ConvertConfigVariable(testConfigVarsFolderRoleAssignmentUpdated()["owner_email"])),
@@ -300,7 +299,7 @@ func TestAccFolderRoleAssignmentResource(t *testing.T) {
300299
// Duplicate assignment should fail
301300
{
302301
ConfigVariables: testConfigVarsFolderRoleAssignmentUpdated(),
303-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceFolderRoleAssignmentDuplicate,
302+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceFolderRoleAssignmentDuplicate,
304303
ExpectError: regexp.MustCompile(`Error while checking for duplicate role assignments`),
305304
},
306305
// Deletion is done by the framework implicitly
@@ -318,7 +317,7 @@ func TestAccOrgRoleAssignmentResource(t *testing.T) {
318317
// Creation
319318
{
320319
ConfigVariables: testConfigVarsOrgRoleAssignment,
321-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceOrgRoleAssignment,
320+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceOrgRoleAssignment,
322321
Check: resource.ComposeAggregateTestCheckFunc(
323322
resource.TestCheckResourceAttrSet("stackit_authorization_organization_role_assignment.ora", "resource_id"),
324323
resource.TestCheckResourceAttrSet("stackit_authorization_organization_role_assignment.ora", "id"),
@@ -356,7 +355,7 @@ func TestAccOrgRoleAssignmentResource(t *testing.T) {
356355
// Update
357356
{
358357
ConfigVariables: testConfigVarsOrgRoleAssignmentUpdated(),
359-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceOrgRoleAssignment,
358+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceOrgRoleAssignment,
360359
Check: resource.ComposeAggregateTestCheckFunc(
361360
resource.TestCheckResourceAttrSet("stackit_authorization_organization_role_assignment.ora", "resource_id"),
362361
resource.TestCheckResourceAttrSet("stackit_authorization_organization_role_assignment.ora", "id"),
@@ -367,7 +366,7 @@ func TestAccOrgRoleAssignmentResource(t *testing.T) {
367366
// Duplicate assignment should fail
368367
{
369368
ConfigVariables: testConfigVarsOrgRoleAssignmentUpdated(),
370-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceOrgRoleAssignmentDuplicate,
369+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceOrgRoleAssignmentDuplicate,
371370
ExpectError: regexp.MustCompile(`Error while checking for duplicate role assignments`),
372371
},
373372
// Deletion is done by the framework implicitly
@@ -384,7 +383,7 @@ func TestAccServiceAccountRoleAssignmentResource(t *testing.T) {
384383
// Creation
385384
{
386385
ConfigVariables: testConfigVarsServiceAccountRoleAssignment,
387-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceServiceAccountRoleAssignment,
386+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceServiceAccountRoleAssignment,
388387
Check: resource.ComposeAggregateTestCheckFunc(
389388
resource.TestCheckResourceAttrSet("stackit_authorization_service_account_role_assignment.sa", "resource_id"),
390389
resource.TestCheckResourceAttrSet("stackit_authorization_service_account_role_assignment.sa", "id"),
@@ -412,7 +411,7 @@ func TestAccServiceAccountRoleAssignmentResource(t *testing.T) {
412411
// Update
413412
{
414413
ConfigVariables: testConfigVarsServiceAccountRoleAssignmentUpdated(),
415-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceServiceAccountRoleAssignment,
414+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceServiceAccountRoleAssignment,
416415
Check: resource.ComposeAggregateTestCheckFunc(
417416
resource.TestCheckResourceAttrSet("stackit_authorization_service_account_role_assignment.sa", "resource_id"),
418417
resource.TestCheckResourceAttrSet("stackit_authorization_service_account_role_assignment.sa", "id"),
@@ -426,7 +425,7 @@ func TestAccServiceAccountRoleAssignmentResource(t *testing.T) {
426425
// Duplicate assignment should fail
427426
{
428427
ConfigVariables: testConfigVarsServiceAccountRoleAssignmentUpdated(),
429-
Config: testutil.AuthorizationProviderConfig() + "\n" + resourceServiceAccountRoleAssignmentDuplicate,
428+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + "\n" + resourceServiceAccountRoleAssignmentDuplicate,
430429
ExpectError: regexp.MustCompile(`Error while checking for duplicate role assignments`),
431430
},
432431
// Deletion is done by the framework implicitly
@@ -441,7 +440,7 @@ func TestAccProjectCustomRoleResource(t *testing.T) {
441440
Steps: []resource.TestStep{
442441
{
443442
ConfigVariables: testConfigVarsCustomRole,
444-
Config: testutil.AuthorizationProviderConfig() + resourceCustomRole,
443+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + resourceCustomRole,
445444
Check: resource.ComposeAggregateTestCheckFunc(
446445
resource.TestCheckResourceAttr("stackit_authorization_project_custom_role.custom_role", "resource_id", testutil.ConvertConfigVariable(testConfigVarsCustomRole["project_id"])),
447446
resource.TestCheckResourceAttr("stackit_authorization_project_custom_role.custom_role", "name", testutil.ConvertConfigVariable(testConfigVarsCustomRole["role_name"])),
@@ -462,7 +461,7 @@ func TestAccProjectCustomRoleResource(t *testing.T) {
462461
role_id = stackit_authorization_project_custom_role.custom_role.role_id
463462
}
464463
`,
465-
testutil.AuthorizationProviderConfig()+resourceCustomRole,
464+
testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig()+resourceCustomRole,
466465
),
467466
Check: resource.ComposeAggregateTestCheckFunc(
468467
resource.TestCheckResourceAttr("data.stackit_authorization_project_custom_role.custom_role", "resource_id", testutil.ConvertConfigVariable(testConfigVarsCustomRole["project_id"])),
@@ -510,7 +509,7 @@ func TestAccProjectCustomRoleResource(t *testing.T) {
510509
// Update
511510
{
512511
ConfigVariables: testConfigVarsCustomRoleUpdated,
513-
Config: testutil.AuthorizationProviderConfig() + resourceCustomRole,
512+
Config: testutil.NewConfigBuilder().Experiments(testutil.ExperimentIAM).BuildProviderConfig() + resourceCustomRole,
514513
Check: resource.ComposeAggregateTestCheckFunc(
515514
resource.TestCheckResourceAttr("stackit_authorization_project_custom_role.custom_role", "resource_id", testutil.ConvertConfigVariable(testConfigVarsCustomRoleUpdated["project_id"])),
516515
resource.TestCheckResourceAttr("stackit_authorization_project_custom_role.custom_role", "name", testutil.ConvertConfigVariable(testConfigVarsCustomRoleUpdated["role_name"])),
@@ -553,15 +552,7 @@ func testAccCheckDestroy(s *terraform.State) error {
553552

554553
func testAccCheckResourceManagerProjectsDestroy(s *terraform.State) error {
555554
ctx := context.Background()
556-
var client *resourcemanager.APIClient
557-
var err error
558-
if testutil.ResourceManagerCustomEndpoint == "" {
559-
client, err = resourcemanager.NewAPIClient()
560-
} else {
561-
client, err = resourcemanager.NewAPIClient(
562-
stackitSdkConfig.WithEndpoint(testutil.ResourceManagerCustomEndpoint),
563-
)
564-
}
555+
client, err := resourcemanager.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.ResourceManagerCustomEndpoint, false)...)
565556
if err != nil {
566557
return fmt.Errorf("creating client: %w", err)
567558
}
@@ -609,15 +600,7 @@ func testAccCheckResourceManagerProjectsDestroy(s *terraform.State) error {
609600

610601
func testAccCheckResourceManagerFoldersDestroy(s *terraform.State) error {
611602
ctx := context.Background()
612-
var client *resourcemanager.APIClient
613-
var err error
614-
if testutil.ResourceManagerCustomEndpoint == "" {
615-
client, err = resourcemanager.NewAPIClient()
616-
} else {
617-
client, err = resourcemanager.NewAPIClient(
618-
stackitSdkConfig.WithEndpoint(testutil.ResourceManagerCustomEndpoint),
619-
)
620-
}
603+
client, err := resourcemanager.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.ResourceManagerCustomEndpoint, false)...)
621604
if err != nil {
622605
return fmt.Errorf("creating client: %w", err)
623606
}
@@ -658,15 +641,7 @@ func testAccCheckResourceManagerFoldersDestroy(s *terraform.State) error {
658641

659642
func testAccCheckOrganizationRoleAssignmentDestroy(s *terraform.State) error {
660643
ctx := context.Background()
661-
var client *authorization.APIClient
662-
var err error
663-
if testutil.AuthorizationCustomEndpoint == "" {
664-
client, err = authorization.NewAPIClient()
665-
} else {
666-
client, err = authorization.NewAPIClient(
667-
stackitSdkConfig.WithEndpoint(testutil.AuthorizationCustomEndpoint),
668-
)
669-
}
644+
client, err := authorization.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.AuthorizationCustomEndpoint, false)...)
670645
if err != nil {
671646
return fmt.Errorf("creating client: %w", err)
672647
}
@@ -705,15 +680,7 @@ func testAccCheckOrganizationRoleAssignmentDestroy(s *terraform.State) error {
705680

706681
func testAccCheckServiceAccountRoleAssignmentDestroy(s *terraform.State) error {
707682
ctx := context.Background()
708-
var client *authorization.APIClient
709-
var err error
710-
if testutil.AuthorizationCustomEndpoint == "" {
711-
client, err = authorization.NewAPIClient()
712-
} else {
713-
client, err = authorization.NewAPIClient(
714-
stackitSdkConfig.WithEndpoint(testutil.AuthorizationCustomEndpoint),
715-
)
716-
}
683+
client, err := authorization.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.AuthorizationCustomEndpoint, false)...)
717684
if err != nil {
718685
return fmt.Errorf("creating client: %w", err)
719686
}

0 commit comments

Comments
 (0)