Skip to content

Commit df219b9

Browse files
committed
implement test
1 parent 5d6e1f9 commit df219b9

File tree

1 file changed

+44
-2
lines changed

1 file changed

+44
-2
lines changed

internal/service/encryptionatrestprivateendpoint/resource_test.go

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"os"
7+
"regexp"
78
"testing"
89
"time"
910

@@ -32,6 +33,33 @@ func TestAccEncryptionAtRestPrivateEndpoint_Azure_basic(t *testing.T) {
3233
resource.Test(t, *basicTestCaseAzure(t))
3334
}
3435

36+
func TestAccEncryptionAtRestPrivateEndpoint_createTimeoutWithDeleteOnCreate(t *testing.T) {
37+
var (
38+
projectID = os.Getenv("MONGODB_ATLAS_PROJECT_EAR_PE_AWS_ID")
39+
createTimeout = "1s"
40+
deleteOnCreateTimeout = true
41+
awsKms = &admin.AWSKMSConfiguration{
42+
Enabled: conversion.Pointer(true),
43+
RequirePrivateNetworking: conversion.Pointer(true),
44+
AccessKeyID: conversion.StringPtr(os.Getenv("AWS_ACCESS_KEY_ID")),
45+
SecretAccessKey: conversion.StringPtr(os.Getenv("AWS_SECRET_ACCESS_KEY")),
46+
CustomerMasterKeyID: conversion.StringPtr(os.Getenv("AWS_CUSTOMER_MASTER_KEY_ID")),
47+
Region: conversion.StringPtr(os.Getenv("AWS_REGION")),
48+
}
49+
region = conversion.AWSRegionToMongoDBRegion(os.Getenv("AWS_REGION"))
50+
)
51+
resource.ParallelTest(t, resource.TestCase{
52+
PreCheck: func() { acc.PreCheckEncryptionAtRestEnvAWS(t) },
53+
ProtoV6ProviderFactories: acc.TestAccProviderV6Factories,
54+
Steps: []resource.TestStep{
55+
{
56+
Config: configAWSBasicWithTimeout(projectID, awsKms, region, acc.TimeoutConfig(&createTimeout, nil, nil, true), &deleteOnCreateTimeout),
57+
ExpectError: regexp.MustCompile("will run cleanup because delete_on_create_timeout is true"),
58+
},
59+
},
60+
})
61+
}
62+
3563
func basicTestCaseAzure(tb testing.TB) *resource.TestCase {
3664
tb.Helper()
3765
var (
@@ -316,19 +344,33 @@ func checkBasic(projectID, cloudProvider, region string, expectApproved bool) re
316344
}
317345

318346
func configAWSBasic(projectID string, awsKms *admin.AWSKMSConfiguration, region string) string {
347+
return configAWSBasicWithTimeout(projectID, awsKms, region, "", nil)
348+
}
349+
350+
func configAWSBasicWithTimeout(projectID string, awsKms *admin.AWSKMSConfiguration, region, timeoutConfig string, deleteOnCreateTimeout *bool) string {
319351
encryptionAtRestConfig := acc.ConfigAwsKms(projectID, awsKms, false, true, false)
352+
353+
deleteOnCreateTimeoutConfig := ""
354+
if deleteOnCreateTimeout != nil {
355+
deleteOnCreateTimeoutConfig = fmt.Sprintf(`
356+
delete_on_create_timeout = %[1]t
357+
`, *deleteOnCreateTimeout)
358+
}
359+
320360
config := fmt.Sprintf(`
321361
%[1]s
322362
323363
resource "mongodbatlas_encryption_at_rest_private_endpoint" "test" {
324364
project_id = mongodbatlas_encryption_at_rest.test.project_id
325365
cloud_provider = "AWS"
326366
region_name = %[2]q
367+
%[3]s
368+
%[4]s
327369
}
328370
329-
%[3]s
371+
%[5]s
330372
331-
`, encryptionAtRestConfig, region, configDS())
373+
`, encryptionAtRestConfig, region, deleteOnCreateTimeoutConfig, timeoutConfig, configDS())
332374

333375
return config
334376
}

0 commit comments

Comments
 (0)