Skip to content

Commit a54f867

Browse files
authored
chore: Fixes some acceptance tests (#1970)
* RandomIAMRole * fix stream test * increase create timeout to avoid flaky test fail * remove cluster name ClusterSharded * remove cluster names tfCluster0 & tfCluster1
1 parent 27a3486 commit a54f867

8 files changed

+68
-59
lines changed

internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_migration_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,10 @@ func TestAccMigrationBackupRSCloudBackupSnapshot_sharded(t *testing.T) {
4646
var (
4747
orgID = os.Getenv("MONGODB_ATLAS_ORG_ID")
4848
projectName = acc.RandomProjectName()
49+
clusterName = acc.RandomClusterName()
4950
description = "My description in my cluster"
5051
retentionInDays = "4"
51-
config = configSharded(orgID, projectName, description, retentionInDays)
52+
config = configSharded(orgID, projectName, clusterName, description, retentionInDays)
5253
)
5354

5455
resource.ParallelTest(t, resource.TestCase{

internal/service/cloudbackupsnapshot/resource_cloud_backup_snapshot_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ func TestAccBackupRSCloudBackupSnapshot_sharded(t *testing.T) {
7171
var (
7272
orgID = os.Getenv("MONGODB_ATLAS_ORG_ID")
7373
projectName = acc.RandomProjectName()
74+
clusterName = acc.RandomClusterName()
7475
description = "My description in my cluster"
7576
retentionInDays = "4"
7677
)
@@ -81,7 +82,7 @@ func TestAccBackupRSCloudBackupSnapshot_sharded(t *testing.T) {
8182
CheckDestroy: checkDestroy,
8283
Steps: []resource.TestStep{
8384
{
84-
Config: configSharded(orgID, projectName, description, retentionInDays),
85+
Config: configSharded(orgID, projectName, clusterName, description, retentionInDays),
8586
Check: resource.ComposeTestCheckFunc(
8687
checkExists(resourceName),
8788
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
@@ -176,7 +177,7 @@ func configBasic(info *acc.ClusterInfo, description, retentionInDays string) str
176177
`, info.ClusterNameStr, info.ProjectIDStr, description, retentionInDays)
177178
}
178179

179-
func configSharded(orgID, projectName, description, retentionInDays string) string {
180+
func configSharded(orgID, projectName, clusterName, description, retentionInDays string) string {
180181
return fmt.Sprintf(`
181182
resource "mongodbatlas_project" "backup_project" {
182183
org_id = %[1]q
@@ -185,7 +186,7 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri
185186
186187
resource "mongodbatlas_advanced_cluster" "my_cluster" {
187188
project_id = mongodbatlas_project.backup_project.id
188-
name = "ClusterSharded"
189+
name = %[3]q
189190
cluster_type = "SHARDED"
190191
backup_enabled = true
191192
@@ -212,8 +213,8 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri
212213
resource "mongodbatlas_cloud_backup_snapshot" "test" {
213214
project_id = mongodbatlas_advanced_cluster.my_cluster.project_id
214215
cluster_name = mongodbatlas_advanced_cluster.my_cluster.name
215-
description = %[3]q
216-
retention_in_days = %[4]q
216+
description = %[4]q
217+
retention_in_days = %[5]q
217218
}
218219
219220
data "mongodbatlas_cloud_backup_snapshot" "test" {
@@ -222,5 +223,5 @@ func configSharded(orgID, projectName, description, retentionInDays string) stri
222223
cluster_name = mongodbatlas_advanced_cluster.my_cluster.name
223224
}
224225
225-
`, orgID, projectName, description, retentionInDays)
226+
`, orgID, projectName, clusterName, description, retentionInDays)
226227
}

internal/service/federateddatabaseinstance/data_source_federated_database_instance_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestAccFederatedDatabaseInstanceDS_s3Bucket(t *testing.T) {
5252
projectName = acc.RandomProjectName()
5353
name = acc.RandomName()
5454
policyName = acc.RandomName()
55-
roleName = acc.RandomName()
55+
roleName = acc.RandomIAMRole()
5656
testS3Bucket = os.Getenv("AWS_S3_BUCKET")
5757
region = "VIRGINIA_USA"
5858
federatedInstance = admin.DataLakeTenant{}

internal/service/federateddatabaseinstance/data_source_federated_database_instances_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func TestAccFederatedDatabaseInstanceDSPlural_basic(t *testing.T) {
1717
firstName = acc.RandomName()
1818
secondName = acc.RandomName()
1919
policyName = acc.RandomName()
20-
roleName = acc.RandomName()
20+
roleName = acc.RandomIAMRole()
2121
testS3Bucket = os.Getenv("AWS_S3_BUCKET")
2222
region = "VIRGINIA_USA"
2323
)

internal/service/federateddatabaseinstance/resource_federated_database_instance_test.go

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func TestAccFederatedDatabaseInstance_s3bucket(t *testing.T) {
7575
projectName = acc.RandomProjectName()
7676
name = acc.RandomName()
7777
policyName = acc.RandomName()
78-
roleName = acc.RandomName()
78+
roleName = acc.RandomIAMRole()
7979
testS3Bucket = os.Getenv("AWS_S3_BUCKET")
8080
region = "VIRGINIA_USA"
8181
)
@@ -109,6 +109,8 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) {
109109
resourceName = "mongodbatlas_federated_database_instance.test"
110110
orgID = os.Getenv("MONGODB_ATLAS_ORG_ID")
111111
projectName = acc.RandomProjectName()
112+
clusterName1 = acc.RandomClusterName()
113+
clusterName2 = acc.RandomClusterName()
112114
name = acc.RandomName()
113115
)
114116

@@ -118,7 +120,7 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) {
118120
Steps: []resource.TestStep{
119121
{
120122
ProtoV6ProviderFactories: acc.TestAccProviderV6Factories,
121-
Config: configWithCluster(projectName, orgID, name),
123+
Config: configWithCluster(orgID, projectName, clusterName1, clusterName2, name),
122124
Check: resource.ComposeTestCheckFunc(
123125
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
124126
resource.TestCheckResourceAttr(resourceName, "name", name),
@@ -131,51 +133,51 @@ func TestAccFederatedDatabaseInstance_atlasCluster(t *testing.T) {
131133
})
132134
}
133135

134-
func configWithCluster(projectName, orgID, name string) string {
136+
func configWithCluster(orgID, projectName, clusterName1, clusterName2, name string) string {
135137
return fmt.Sprintf(`
136-
resource "mongodbatlas_project" "project-tf" {
137-
name = %[1]q
138-
org_id = %[2]q
138+
resource "mongodbatlas_project" "project-tf" {
139+
org_id = %[1]q
140+
name = %[2]q
139141
}
140142
141143
resource "mongodbatlas_cluster" "cluster-1" {
142-
project_id = mongodbatlas_project.project-tf.id
143-
provider_name = "AWS"
144-
name = "tfCluster0"
145-
backing_provider_name = "AWS"
146-
provider_region_name = "EU_WEST_2"
147-
provider_instance_size_name = "M10"
144+
project_id = mongodbatlas_project.project-tf.id
145+
provider_name = "AWS"
146+
name = %[3]q
147+
backing_provider_name = "AWS"
148+
provider_region_name = "EU_WEST_2"
149+
provider_instance_size_name = "M10"
148150
}
149151
150152
151153
resource "mongodbatlas_cluster" "cluster-2" {
152-
project_id = mongodbatlas_project.project-tf.id
153-
provider_name = "AWS"
154-
name = "tfCluster1"
155-
backing_provider_name = "AWS"
156-
provider_region_name = "EU_WEST_2"
157-
provider_instance_size_name = "M10"
154+
project_id = mongodbatlas_project.project-tf.id
155+
provider_name = "AWS"
156+
name = %[4]q
157+
backing_provider_name = "AWS"
158+
provider_region_name = "EU_WEST_2"
159+
provider_instance_size_name = "M10"
158160
}
159161
160162
resource "mongodbatlas_federated_database_instance" "test" {
161-
project_id = mongodbatlas_project.project-tf.id
162-
name = %[3]q
163-
storage_databases {
164-
name = "VirtualDatabase0"
165-
collections {
166-
name = "VirtualCollection0"
167-
data_sources {
168-
collection = "listingsAndReviews"
169-
database = "sample_airbnb"
170-
store_name = mongodbatlas_cluster.cluster-1.name
171-
}
172-
data_sources {
163+
project_id = mongodbatlas_project.project-tf.id
164+
name = %[5]q
165+
storage_databases {
166+
name = "VirtualDatabase0"
167+
collections {
168+
name = "VirtualCollection0"
169+
data_sources {
170+
collection = "listingsAndReviews"
171+
database = "sample_airbnb"
172+
store_name = mongodbatlas_cluster.cluster-1.name
173+
}
174+
data_sources {
173175
174-
collection = "listingsAndReviews"
175-
database = "sample_airbnb"
176-
store_name = mongodbatlas_cluster.cluster-2.name
176+
collection = "listingsAndReviews"
177+
database = "sample_airbnb"
178+
store_name = mongodbatlas_cluster.cluster-2.name
179+
}
177180
}
178-
}
179181
}
180182
181183
storage_stores {
@@ -238,7 +240,7 @@ func configWithCluster(projectName, orgID, name string) string {
238240
}
239241
}
240242
}
241-
`, projectName, orgID, name)
243+
`, orgID, projectName, clusterName1, clusterName2, name)
242244
}
243245

244246
func importStateIDFuncS3Bucket(resourceName, s3Bucket string) resource.ImportStateIdFunc {

internal/service/projectipaccesslist/resource_project_ip_access_list.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ import (
2424
)
2525

2626
const (
27-
errorAccessListCreate = "error creating Project IP Access List information: %s"
28-
errorAccessListRead = "error getting Project IP Access List information: %s"
29-
errorAccessListDelete = "error deleting Project IP Access List information: %s"
30-
projectIPAccessListTimeout = 45 * time.Minute
31-
projectIPAccessListTimeoutRead = 2 * time.Minute
32-
projectIPAccessListMinTimeout = 2 * time.Second
33-
projectIPAccessListDelay = 4 * time.Second
34-
projectIPAccessListRetry = 2 * time.Minute
27+
errorAccessListCreate = "error creating Project IP Access List information: %s"
28+
errorAccessListRead = "error getting Project IP Access List information: %s"
29+
errorAccessListDelete = "error deleting Project IP Access List information: %s"
30+
timeoutCreateDelete = 45 * time.Minute
31+
timeoutRead = 2 * time.Minute
32+
timeoutRetryItem = 2 * time.Minute
33+
minTimeoutCreate = 10 * time.Second
34+
delayCreate = 10 * time.Second
3535
)
3636

3737
type TfProjectIPAccessListModel struct {
@@ -182,9 +182,9 @@ func (r *projectIPAccessListRS) Create(ctx context.Context, req resource.CreateR
182182

183183
return entry, "created", nil
184184
},
185-
Timeout: projectIPAccessListTimeout,
186-
Delay: projectIPAccessListDelay,
187-
MinTimeout: projectIPAccessListMinTimeout,
185+
Timeout: timeoutCreateDelete,
186+
Delay: delayCreate,
187+
MinTimeout: minTimeoutCreate,
188188
}
189189

190190
// Wait, catching any errors
@@ -220,7 +220,7 @@ func (r *projectIPAccessListRS) Read(ctx context.Context, req resource.ReadReque
220220
return
221221
}
222222

223-
timeout, diags := projectIPAccessListModelState.Timeouts.Read(ctx, projectIPAccessListTimeoutRead)
223+
timeout, diags := projectIPAccessListModelState.Timeouts.Read(ctx, timeoutRead)
224224
resp.Diagnostics.Append(diags...)
225225
if resp.Diagnostics.HasError() {
226226
return
@@ -274,7 +274,7 @@ func (r *projectIPAccessListRS) Delete(ctx context.Context, req resource.DeleteR
274274
connV2 := r.Client.AtlasV2
275275
projectID := projectIPAccessListModelState.ProjectID.ValueString()
276276

277-
timeout, diags := projectIPAccessListModelState.Timeouts.Delete(ctx, projectIPAccessListTimeout)
277+
timeout, diags := projectIPAccessListModelState.Timeouts.Delete(ctx, timeoutCreateDelete)
278278
resp.Diagnostics.Append(diags...)
279279
if resp.Diagnostics.HasError() {
280280
return
@@ -335,7 +335,7 @@ func (r *projectIPAccessListRS) ImportState(ctx context.Context, req resource.Im
335335

336336
func isEntryInProjectAccessList(ctx context.Context, connV2 *admin.APIClient, projectID, entry string) (*admin.NetworkPermissionEntry, bool, error) {
337337
var out admin.NetworkPermissionEntry
338-
err := retry.RetryContext(ctx, projectIPAccessListRetry, func() *retry.RetryError {
338+
err := retry.RetryContext(ctx, timeoutRetryItem, func() *retry.RetryError {
339339
accessList, httpResponse, err := connV2.ProjectIPAccessListApi.GetProjectIpList(ctx, projectID, entry).Execute()
340340
if err != nil {
341341
switch {

internal/service/streamconnection/data_source_stream_connection_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import (
1111

1212
func TestAccStreamDSStreamConnection_kafkaPlaintext(t *testing.T) {
1313
var (
14+
dataSourceName = "data.mongodbatlas_stream_connection.test"
1415
orgID = os.Getenv("MONGODB_ATLAS_ORG_ID")
1516
projectName = acc.RandomProjectName()
1617
instanceName = acc.RandomName()
17-
dataSourceName = acc.RandomName()
1818
)
1919
resource.ParallelTest(t, resource.TestCase{
2020
PreCheck: func() { acc.PreCheckBetaFlag(t); acc.PreCheckBasic(t) },

internal/testutil/acc/name.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const (
1010
prefixName = "test-acc-tf"
1111
prefixProject = prefixName + "-p"
1212
prefixCluster = prefixName + "-c"
13+
prefixIAMRole = "mongodb-atlas-" + prefixName
1314
)
1415

1516
func RandomName() string {
@@ -24,6 +25,10 @@ func RandomClusterName() string {
2425
return acctest.RandomWithPrefix(prefixCluster)
2526
}
2627

28+
func RandomIAMRole() string {
29+
return acctest.RandomWithPrefix(prefixIAMRole)
30+
}
31+
2732
func RandomIP(a, b, c byte) string {
2833
return fmt.Sprintf("%d.%d.%d.%d", a, b, c, acctest.RandIntRange(0, 255))
2934
}

0 commit comments

Comments
 (0)