Skip to content

Commit 5aaed33

Browse files
chore: Enable Network peering acc tests using AWS to run as part of CI (#1793)
1 parent a2844a5 commit 5aaed33

8 files changed

+80
-216
lines changed

.github/workflows/acceptance-tests.yml

+7
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,14 @@ jobs:
430430
MONGODB_ATLAS_BASE_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }}
431431
MONGODB_ATLAS_ENABLE_BETA: ${{ vars.MONGODB_ATLAS_ENABLE_BETA }}
432432
MONGODB_ATLAS_ENDPOINT_ID: ${{ vars.MONGODB_ATLAS_AWS_ENDPOINT_ID_NETWORK }}
433+
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
434+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
435+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
433436
AWS_REGION: ${{ vars.AWS_REGION }}
437+
AWS_SECURITY_GROUP_1: ${{ vars.AWS_SECURITY_GROUP_1 }}
438+
AWS_SECURITY_GROUP_2: ${{ vars.AWS_SECURITY_GROUP_2 }}
439+
AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }}
440+
AWS_VPC_ID: ${{ vars.AWS_VPC_ID }}
434441
TEST_REGEX: "^TestAccNetwork"
435442
run: make testacc
436443

.github/workflows/migration-tests.yml

+8
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ jobs:
107107
MONGODB_ATLAS_PROJECT_OWNER_ID: ${{ vars.MONGODB_ATLAS_PROJECT_OWNER_ID }}
108108
MONGODB_ATLAS_TEAMS_IDS: ${{ vars.MONGODB_ATLAS_TEAMS_IDS }}
109109
MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }}
110+
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
111+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
112+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
113+
AWS_REGION: ${{ vars.AWS_REGION }}
114+
AWS_SECURITY_GROUP_1: ${{ vars.AWS_SECURITY_GROUP_1 }}
115+
AWS_SECURITY_GROUP_2: ${{ vars.AWS_SECURITY_GROUP_2 }}
116+
AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }}
117+
AWS_VPC_ID: ${{ vars.AWS_VPC_ID }}
110118
TEST_REGEX: "^TestAccMigrationProject"
111119
run: make testacc
112120

internal/service/networkpeering/data_source_network_peering_test.go

-74
This file was deleted.

internal/service/networkpeering/data_source_network_peerings_test.go

-72
This file was deleted.

internal/service/networkpeering/resource_network_peering_test.go

+49-23
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,46 @@ import (
1717
matlas "go.mongodb.org/atlas/mongodbatlas"
1818
)
1919

20-
func TestAccNetworkRSNetworkPeering_basicAWS(t *testing.T) {
21-
acc.SkipTestExtCred(t)
20+
func TestAccNetworkNetworkPeering_basicAWS(t *testing.T) {
2221
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")
3133
)
3234

3335
resource.Test(t, resource.TestCase{
34-
PreCheck: func() { acc.PreCheck(t); acc.PreCheckPeeringEnvAWS(t) },
36+
PreCheck: func() { acc.PreCheckBasic(t); acc.PreCheckPeeringEnvAWS(t) },
3537
ProtoV6ProviderFactories: acc.TestAccProviderV6Factories,
3638
CheckDestroy: acc.CheckDestroyNetworkPeering,
3739
Steps: []resource.TestStep{
3840
{
39-
Config: testAccMongoDBAtlasNetworkPeeringConfigAWS(projectID, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion),
41+
Config: testAccMongoDBAtlasNetworkPeeringConfigAWS(orgID, projectName, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion),
4042
Check: resource.ComposeTestCheckFunc(
4143
testAccCheckMongoDBAtlasNetworkPeeringExists(resourceName, &peer),
4244
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
4345
resource.TestCheckResourceAttrSet(resourceName, "container_id"),
4446
resource.TestCheckResourceAttr(resourceName, "provider_name", providerName),
4547
resource.TestCheckResourceAttr(resourceName, "vpc_id", vpcID),
4648
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"),
4760
),
4861
},
4962
{
@@ -240,25 +253,38 @@ func testAccCheckMongoDBAtlasNetworkPeeringExists(resourceName string, peer *mat
240253
}
241254
}
242255

243-
func testAccMongoDBAtlasNetworkPeeringConfigAWS(projectID, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion string) string {
256+
func testAccMongoDBAtlasNetworkPeeringConfigAWS(orgID, projectName, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion string) string {
244257
return fmt.Sprintf(`
258+
resource "mongodbatlas_project" "my_project" {
259+
name = %[2]q
260+
org_id = %[1]q
261+
}
245262
resource "mongodbatlas_network_container" "test" {
246-
project_id = "%[1]s"
263+
project_id = mongodbatlas_project.my_project.id
247264
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"
250267
}
251268
252269
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
255272
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
260286
}
261-
`, projectID, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion)
287+
`, orgID, projectName, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion)
262288
}
263289

264290
func testAccMongoDBAtlasNetworkPeeringConfigAzure(projectID, providerName, directoryID, subscriptionID, resourceGroupName, vNetName string) string {

internal/service/projectipaccesslist/data_source_project_ip_access_list_migration_test.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -83,38 +83,37 @@ func TestAccMigrationProjectDSProjectIPAccessList_SettingCIDRBlock(t *testing.T)
8383
}
8484

8585
func TestAccMigrationProjectDSProjectIPAccessList_SettingAWSSecurityGroup(t *testing.T) {
86-
acc.SkipTestExtCred(t)
86+
projectName := acctest.RandomWithPrefix("test-acc-migration-project-aws")
8787
dataSourceName := "data.mongodbatlas_project_ip_access_list.test"
8888
vpcID := os.Getenv("AWS_VPC_ID")
8989
vpcCIDRBlock := os.Getenv("AWS_VPC_CIDR_BLOCK")
9090
awsAccountID := os.Getenv("AWS_ACCOUNT_ID")
9191
awsRegion := os.Getenv("AWS_REGION")
9292
providerName := "AWS"
9393

94-
projectID := os.Getenv("MONGODB_ATLAS_PROJECT_ID")
95-
awsSGroup := os.Getenv("AWS_SECURITY_GROUP_ID")
94+
orgID := os.Getenv("MONGODB_ATLAS_ORG_ID")
95+
awsSGroup := os.Getenv("AWS_SECURITY_GROUP_1")
9696
comment := fmt.Sprintf("TestAcc for awsSecurityGroup (%s)", awsSGroup)
9797

9898
resource.Test(t, resource.TestCase{
99-
PreCheck: func() { acc.PreCheck(t) },
99+
PreCheck: func() { acc.PreCheckBasic(t) },
100100
Steps: []resource.TestStep{
101101
{
102102
ExternalProviders: mig.ExternalProviders(),
103-
Config: testAccDataMongoDBAtlasProjectIPAccessListConfigSettingAWSSecurityGroup(projectID, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion, awsSGroup, comment),
103+
Config: acc.ConfigProjectIPAccessListWithAWSSecurityGroup(orgID, projectName, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion, awsSGroup, comment),
104104
Check: resource.ComposeTestCheckFunc(
105105
acc.CheckProjectIPAccessListExists(dataSourceName),
106106
resource.TestCheckResourceAttrSet(dataSourceName, "project_id"),
107107
resource.TestCheckResourceAttrSet(dataSourceName, "aws_security_group"),
108108
resource.TestCheckResourceAttrSet(dataSourceName, "comment"),
109109

110-
resource.TestCheckResourceAttr(dataSourceName, "project_id", projectID),
111110
resource.TestCheckResourceAttr(dataSourceName, "aws_security_group", awsSGroup),
112111
resource.TestCheckResourceAttr(dataSourceName, "comment", comment),
113112
),
114113
},
115114
{
116115
ProtoV6ProviderFactories: acc.TestAccProviderV6Factories,
117-
Config: testAccDataMongoDBAtlasProjectIPAccessListConfigSettingAWSSecurityGroup(projectID, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion, awsSGroup, comment),
116+
Config: acc.ConfigProjectIPAccessListWithAWSSecurityGroup(orgID, projectName, providerName, vpcID, awsAccountID, vpcCIDRBlock, awsRegion, awsSGroup, comment),
118117
ConfigPlanChecks: resource.ConfigPlanChecks{
119118
PostApplyPreRefresh: []plancheck.PlanCheck{
120119
acc.DebugPlan(),

0 commit comments

Comments
 (0)