@@ -17,33 +17,46 @@ import (
17
17
matlas "go.mongodb.org/atlas/mongodbatlas"
18
18
)
19
19
20
- func TestAccNetworkRSNetworkPeering_basicAWS (t * testing.T ) {
21
- acc .SkipTestExtCred (t )
20
+ func TestAccNetworkNetworkPeering_basicAWS (t * testing.T ) {
22
21
var (
23
- peer matlas.Peer
24
- resourceName = "mongodbatlas_network_peering.test"
25
- projectID = os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
26
- vpcID = os .Getenv ("AWS_VPC_ID" )
27
- vpcCIDRBlock = os .Getenv ("AWS_VPC_CIDR_BLOCK" )
28
- awsAccountID = os .Getenv ("AWS_ACCOUNT_ID" )
29
- awsRegion = os .Getenv ("AWS_REGION" )
30
- providerName = "AWS"
22
+ peer matlas.Peer
23
+ resourceName = "mongodbatlas_network_peering.test"
24
+ dataSourceName = "data.mongodbatlas_network_peering.test"
25
+ pluralDataSourceName = "data.mongodbatlas_network_peerings.test"
26
+ orgID = os .Getenv ("MONGODB_ATLAS_ORG_ID" )
27
+ vpcID = os .Getenv ("AWS_VPC_ID" )
28
+ vpcCIDRBlock = os .Getenv ("AWS_VPC_CIDR_BLOCK" )
29
+ awsAccountID = os .Getenv ("AWS_ACCOUNT_ID" )
30
+ awsRegion = os .Getenv ("AWS_REGION" )
31
+ providerName = "AWS"
32
+ projectName = acctest .RandomWithPrefix ("test-acc-project-aws" )
31
33
)
32
34
33
35
resource .Test (t , resource.TestCase {
34
- PreCheck : func () { acc .PreCheck (t ); acc .PreCheckPeeringEnvAWS (t ) },
36
+ PreCheck : func () { acc .PreCheckBasic (t ); acc .PreCheckPeeringEnvAWS (t ) },
35
37
ProtoV6ProviderFactories : acc .TestAccProviderV6Factories ,
36
38
CheckDestroy : acc .CheckDestroyNetworkPeering ,
37
39
Steps : []resource.TestStep {
38
40
{
39
- Config : testAccMongoDBAtlasNetworkPeeringConfigAWS (projectID , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion ),
41
+ Config : testAccMongoDBAtlasNetworkPeeringConfigAWS (orgID , projectName , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion ),
40
42
Check : resource .ComposeTestCheckFunc (
41
43
testAccCheckMongoDBAtlasNetworkPeeringExists (resourceName , & peer ),
42
44
resource .TestCheckResourceAttrSet (resourceName , "project_id" ),
43
45
resource .TestCheckResourceAttrSet (resourceName , "container_id" ),
44
46
resource .TestCheckResourceAttr (resourceName , "provider_name" , providerName ),
45
47
resource .TestCheckResourceAttr (resourceName , "vpc_id" , vpcID ),
46
48
resource .TestCheckResourceAttr (resourceName , "aws_account_id" , awsAccountID ),
49
+
50
+ resource .TestCheckResourceAttrSet (dataSourceName , "project_id" ),
51
+ resource .TestCheckResourceAttrSet (dataSourceName , "container_id" ),
52
+ resource .TestCheckResourceAttr (dataSourceName , "provider_name" , providerName ),
53
+ resource .TestCheckResourceAttr (dataSourceName , "vpc_id" , vpcID ),
54
+ resource .TestCheckResourceAttr (dataSourceName , "aws_account_id" , awsAccountID ),
55
+
56
+ resource .TestCheckResourceAttrSet (pluralDataSourceName , "results.#" ),
57
+ resource .TestCheckResourceAttrSet (pluralDataSourceName , "results.0.provider_name" ),
58
+ resource .TestCheckResourceAttrSet (pluralDataSourceName , "results.0.vpc_id" ),
59
+ resource .TestCheckResourceAttrSet (pluralDataSourceName , "results.0.aws_account_id" ),
47
60
),
48
61
},
49
62
{
@@ -240,25 +253,38 @@ func testAccCheckMongoDBAtlasNetworkPeeringExists(resourceName string, peer *mat
240
253
}
241
254
}
242
255
243
- func testAccMongoDBAtlasNetworkPeeringConfigAWS (projectID , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion string ) string {
256
+ func testAccMongoDBAtlasNetworkPeeringConfigAWS (orgID , projectName , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion string ) string {
244
257
return fmt .Sprintf (`
258
+ resource "mongodbatlas_project" "my_project" {
259
+ name = %[2]q
260
+ org_id = %[1]q
261
+ }
245
262
resource "mongodbatlas_network_container" "test" {
246
- project_id = "%[1]s"
263
+ project_id = mongodbatlas_project.my_project.id
247
264
atlas_cidr_block = "192.168.208.0/21"
248
- provider_name = "%[2 ]s"
249
- region_name = "%[6 ]s"
265
+ provider_name = "%[3 ]s"
266
+ region_name = "%[7 ]s"
250
267
}
251
268
252
269
resource "mongodbatlas_network_peering" "test" {
253
- accepter_region_name = lower(replace("%[6 ]s", "_", "-"))
254
- project_id = "%[1]s"
270
+ accepter_region_name = lower(replace("%[7 ]s", "_", "-"))
271
+ project_id = mongodbatlas_project.my_project.id
255
272
container_id = mongodbatlas_network_container.test.id
256
- provider_name = "%[2]s"
257
- route_table_cidr_block = "%[5]s"
258
- vpc_id = "%[3]s"
259
- aws_account_id = "%[4]s"
273
+ provider_name = "%[3]s"
274
+ route_table_cidr_block = "%[6]s"
275
+ vpc_id = "%[4]s"
276
+ aws_account_id = "%[5]s"
277
+ }
278
+
279
+ data "mongodbatlas_network_peering" "test" {
280
+ project_id = mongodbatlas_project.my_project.id
281
+ peering_id = mongodbatlas_network_peering.test.peer_id
282
+ }
283
+
284
+ data "mongodbatlas_network_peerings" "test" {
285
+ project_id = mongodbatlas_network_peering.test.project_id
260
286
}
261
- ` , projectID , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion )
287
+ ` , orgID , projectName , providerName , vpcID , awsAccountID , vpcCIDRBlock , awsRegion )
262
288
}
263
289
264
290
func testAccMongoDBAtlasNetworkPeeringConfigAzure (projectID , providerName , directoryID , subscriptionID , resourceGroupName , vNetName string ) string {
0 commit comments