diff --git a/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_migration_test.go b/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_migration_test.go index 44192b96e5..ebc59f1192 100644 --- a/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_migration_test.go +++ b/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_migration_test.go @@ -46,9 +46,10 @@ func TestAccMigrationBackupRSCloudBackupSnapshot_sharded(t *testing.T) { var ( orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") projectName = acc.RandomProjectName() + clusterName = acc.RandomClusterName() description = "My description in my cluster" retentionInDays = "4" - config = configSharded(orgID, projectName, description, retentionInDays) + config = configSharded(orgID, projectName, clusterName, description, retentionInDays) ) resource.ParallelTest(t, resource.TestCase{ diff --git a/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_test.go b/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_test.go index 56b31a82d2..a7d5757b01 100644 --- a/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_test.go +++ b/internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_test.go @@ -71,6 +71,7 @@ func TestAccBackupRSCloudBackupSnapshot_sharded(t *testing.T) { var ( orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") projectName = acc.RandomProjectName() + clusterName = acc.RandomClusterName() description = "My description in my cluster" retentionInDays = "4" ) @@ -81,7 +82,7 @@ func TestAccBackupRSCloudBackupSnapshot_sharded(t *testing.T) { CheckDestroy: checkDestroy, Steps: []resource.TestStep{ { - Config: configSharded(orgID, projectName, description, retentionInDays), + Config: configSharded(orgID, projectName, clusterName, description, retentionInDays), Check: resource.ComposeTestCheckFunc( checkExists(resourceName), resource.TestCheckResourceAttrSet(resourceName, "project_id"), @@ -176,7 +177,7 @@ func configBasic(info *acc.ClusterInfo, description, retentionInDays string) str `, info.ClusterNameStr, info.ProjectIDStr, description, retentionInDays) } -func configSharded(orgID, projectName, description, retentionInDays string) string { +func configSharded(orgID, projectName, clusterName, description, retentionInDays string) string { return fmt.Sprintf(` resource "mongodbatlas_project" "backup_project" { org_id = %[1]q @@ -185,7 +186,7 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri resource "mongodbatlas_advanced_cluster" "my_cluster" { project_id = mongodbatlas_project.backup_project.id - name = "ClusterSharded" + name = %[3]q cluster_type = "SHARDED" backup_enabled = true @@ -212,8 +213,8 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri resource "mongodbatlas_cloud_backup_snapshot" "test" { project_id = mongodbatlas_advanced_cluster.my_cluster.project_id cluster_name = mongodbatlas_advanced_cluster.my_cluster.name - description = %[3]q - retention_in_days = %[4]q + description = %[4]q + retention_in_days = %[5]q } data "mongodbatlas_cloud_backup_snapshot" "test" { @@ -222,5 +223,5 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri cluster_name = mongodbatlas_advanced_cluster.my_cluster.name } - `, orgID, projectName, description, retentionInDays) + `, orgID, projectName, clusterName, description, retentionInDays) } diff --git a/internal/service/federateddatabaseinstance/data_source_federated_database_instance_test.go b/internal/service/federateddatabaseinstance/data_source_federated_database_instance_test.go index d10669dc0f..bc271c4259 100644 --- a/internal/service/federateddatabaseinstance/data_source_federated_database_instance_test.go +++ b/internal/service/federateddatabaseinstance/data_source_federated_database_instance_test.go @@ -52,7 +52,7 @@ func TestAccFederatedDatabaseInstanceDS_s3Bucket(t *testing.T) { projectName = acc.RandomProjectName() name = acc.RandomName() policyName = acc.RandomName() - roleName = acc.RandomName() + roleName = acc.RandomIAMRole() testS3Bucket = os.Getenv("AWS_S3_BUCKET") region = "VIRGINIA_USA" federatedInstance = admin.DataLakeTenant{} diff --git a/internal/service/federateddatabaseinstance/data_source_federated_database_instances_test.go b/internal/service/federateddatabaseinstance/data_source_federated_database_instances_test.go index e9b9a13f52..049988fd6c 100644 --- a/internal/service/federateddatabaseinstance/data_source_federated_database_instances_test.go +++ b/internal/service/federateddatabaseinstance/data_source_federated_database_instances_test.go @@ -17,7 +17,7 @@ func TestAccFederatedDatabaseInstanceDSPlural_basic(t *testing.T) { firstName = acc.RandomName() secondName = acc.RandomName() policyName = acc.RandomName() - roleName = acc.RandomName() + roleName = acc.RandomIAMRole() testS3Bucket = os.Getenv("AWS_S3_BUCKET") region = "VIRGINIA_USA" ) diff --git a/internal/service/federateddatabaseinstance/resource_federated_database_instance_test.go b/internal/service/federateddatabaseinstance/resource_federated_database_instance_test.go index d1a813326b..7abb408ed2 100644 --- a/internal/service/federateddatabaseinstance/resource_federated_database_instance_test.go +++ b/internal/service/federateddatabaseinstance/resource_federated_database_instance_test.go @@ -75,7 +75,7 @@ func TestAccFederatedDatabaseInstance_s3bucket(t *testing.T) { projectName = acc.RandomProjectName() name = acc.RandomName() policyName = acc.RandomName() - roleName = acc.RandomName() + roleName = acc.RandomIAMRole() testS3Bucket = os.Getenv("AWS_S3_BUCKET") region = "VIRGINIA_USA" ) @@ -109,6 +109,8 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) { resourceName = "mongodbatlas_federated_database_instance.test" orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") projectName = acc.RandomProjectName() + clusterName1 = acc.RandomClusterName() + clusterName2 = acc.RandomClusterName() name = acc.RandomName() ) @@ -118,7 +120,7 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) { Steps: []resource.TestStep{ { ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - Config: configWithCluster(projectName, orgID, name), + Config: configWithCluster(orgID, projectName, clusterName1, clusterName2, name), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttrSet(resourceName, "project_id"), resource.TestCheckResourceAttr(resourceName, "name", name), @@ -131,51 +133,51 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) { }) } -func configWithCluster(projectName, orgID, name string) string { +func configWithCluster(orgID, projectName, clusterName1, clusterName2, name string) string { return fmt.Sprintf(` - resource "mongodbatlas_project" "project-tf" { - name = %[1]q - org_id = %[2]q + resource "mongodbatlas_project" "project-tf" { + org_id = %[1]q + name = %[2]q } resource "mongodbatlas_cluster" "cluster-1" { - project_id = mongodbatlas_project.project-tf.id - provider_name = "AWS" - name = "tfCluster0" - backing_provider_name = "AWS" - provider_region_name = "EU_WEST_2" - provider_instance_size_name = "M10" + project_id = mongodbatlas_project.project-tf.id + provider_name = "AWS" + name = %[3]q + backing_provider_name = "AWS" + provider_region_name = "EU_WEST_2" + provider_instance_size_name = "M10" } resource "mongodbatlas_cluster" "cluster-2" { - project_id = mongodbatlas_project.project-tf.id - provider_name = "AWS" - name = "tfCluster1" - backing_provider_name = "AWS" - provider_region_name = "EU_WEST_2" - provider_instance_size_name = "M10" + project_id = mongodbatlas_project.project-tf.id + provider_name = "AWS" + name = %[4]q + backing_provider_name = "AWS" + provider_region_name = "EU_WEST_2" + provider_instance_size_name = "M10" } resource "mongodbatlas_federated_database_instance" "test" { - project_id = mongodbatlas_project.project-tf.id - name = %[3]q - storage_databases { - name = "VirtualDatabase0" - collections { - name = "VirtualCollection0" - data_sources { - collection = "listingsAndReviews" - database = "sample_airbnb" - store_name = mongodbatlas_cluster.cluster-1.name - } - data_sources { + project_id = mongodbatlas_project.project-tf.id + name = %[5]q + storage_databases { + name = "VirtualDatabase0" + collections { + name = "VirtualCollection0" + data_sources { + collection = "listingsAndReviews" + database = "sample_airbnb" + store_name = mongodbatlas_cluster.cluster-1.name + } + data_sources { - collection = "listingsAndReviews" - database = "sample_airbnb" - store_name = mongodbatlas_cluster.cluster-2.name + collection = "listingsAndReviews" + database = "sample_airbnb" + store_name = mongodbatlas_cluster.cluster-2.name + } } - } } storage_stores { @@ -238,7 +240,7 @@ func configWithCluster(projectName, orgID, name string) string { } } } - `, projectName, orgID, name) + `, orgID, projectName, clusterName1, clusterName2, name) } func importStateIDFuncS3Bucket(resourceName, s3Bucket string) resource.ImportStateIdFunc { diff --git a/internal/service/projectipaccesslist/resource_project_ip_access_list.go b/internal/service/projectipaccesslist/resource_project_ip_access_list.go index 9a4ddca20a..18d21fc375 100644 --- a/internal/service/projectipaccesslist/resource_project_ip_access_list.go +++ b/internal/service/projectipaccesslist/resource_project_ip_access_list.go @@ -24,14 +24,14 @@ import ( ) const ( - errorAccessListCreate = "error creating Project IP Access List information: %s" - errorAccessListRead = "error getting Project IP Access List information: %s" - errorAccessListDelete = "error deleting Project IP Access List information: %s" - projectIPAccessListTimeout = 45 * time.Minute - projectIPAccessListTimeoutRead = 2 * time.Minute - projectIPAccessListMinTimeout = 2 * time.Second - projectIPAccessListDelay = 4 * time.Second - projectIPAccessListRetry = 2 * time.Minute + errorAccessListCreate = "error creating Project IP Access List information: %s" + errorAccessListRead = "error getting Project IP Access List information: %s" + errorAccessListDelete = "error deleting Project IP Access List information: %s" + timeoutCreateDelete = 45 * time.Minute + timeoutRead = 2 * time.Minute + timeoutRetryItem = 2 * time.Minute + minTimeoutCreate = 10 * time.Second + delayCreate = 10 * time.Second ) type TfProjectIPAccessListModel struct { @@ -182,9 +182,9 @@ func (r *projectIPAccessListRS) Create(ctx context.Context, req resource.CreateR return entry, "created", nil }, - Timeout: projectIPAccessListTimeout, - Delay: projectIPAccessListDelay, - MinTimeout: projectIPAccessListMinTimeout, + Timeout: timeoutCreateDelete, + Delay: delayCreate, + MinTimeout: minTimeoutCreate, } // Wait, catching any errors @@ -220,7 +220,7 @@ func (r *projectIPAccessListRS) Read(ctx context.Context, req resource.ReadReque return } - timeout, diags := projectIPAccessListModelState.Timeouts.Read(ctx, projectIPAccessListTimeoutRead) + timeout, diags := projectIPAccessListModelState.Timeouts.Read(ctx, timeoutRead) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return @@ -274,7 +274,7 @@ func (r *projectIPAccessListRS) Delete(ctx context.Context, req resource.DeleteR connV2 := r.Client.AtlasV2 projectID := projectIPAccessListModelState.ProjectID.ValueString() - timeout, diags := projectIPAccessListModelState.Timeouts.Delete(ctx, projectIPAccessListTimeout) + timeout, diags := projectIPAccessListModelState.Timeouts.Delete(ctx, timeoutCreateDelete) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return @@ -335,7 +335,7 @@ func (r *projectIPAccessListRS) ImportState(ctx context.Context, req resource.Im func isEntryInProjectAccessList(ctx context.Context, connV2 *admin.APIClient, projectID, entry string) (*admin.NetworkPermissionEntry, bool, error) { var out admin.NetworkPermissionEntry - err := retry.RetryContext(ctx, projectIPAccessListRetry, func() *retry.RetryError { + err := retry.RetryContext(ctx, timeoutRetryItem, func() *retry.RetryError { accessList, httpResponse, err := connV2.ProjectIPAccessListApi.GetProjectIpList(ctx, projectID, entry).Execute() if err != nil { switch { diff --git a/internal/service/streamconnection/data_source_stream_connection_test.go b/internal/service/streamconnection/data_source_stream_connection_test.go index a9b3451fb4..5303f0af08 100644 --- a/internal/service/streamconnection/data_source_stream_connection_test.go +++ b/internal/service/streamconnection/data_source_stream_connection_test.go @@ -11,10 +11,10 @@ import ( func TestAccStreamDSStreamConnection_kafkaPlaintext(t *testing.T) { var ( + dataSourceName = "data.mongodbatlas_stream_connection.test" orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") projectName = acc.RandomProjectName() instanceName = acc.RandomName() - dataSourceName = acc.RandomName() ) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acc.PreCheckBetaFlag(t); acc.PreCheckBasic(t) }, diff --git a/internal/testutil/acc/name.go b/internal/testutil/acc/name.go index 256e96e7ec..7b50a59e5e 100644 --- a/internal/testutil/acc/name.go +++ b/internal/testutil/acc/name.go @@ -10,6 +10,7 @@ const ( prefixName = "test-acc-tf" prefixProject = prefixName + "-p" prefixCluster = prefixName + "-c" + prefixIAMRole = "mongodb-atlas-" + prefixName ) func RandomName() string { @@ -24,6 +25,10 @@ func RandomClusterName() string { return acctest.RandomWithPrefix(prefixCluster) } +func RandomIAMRole() string { + return acctest.RandomWithPrefix(prefixIAMRole) +} + func RandomIP(a, b, c byte) string { return fmt.Sprintf("%d.%d.%d.%d", a, b, c, acctest.RandIntRange(0, 255)) }