diff --git a/internal/service/networkcontainer/data_source_network_container_test.go b/internal/service/networkcontainer/data_source_network_container_test.go deleted file mode 100644 index 4e1b0cf65e..0000000000 --- a/internal/service/networkcontainer/data_source_network_container_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package networkcontainer_test - -import ( - "fmt" - "os" - "testing" - - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/mongodb/terraform-provider-mongodbatlas/internal/common/constant" - "github.com/mongodb/terraform-provider-mongodbatlas/internal/testutil/acc" -) - -var ( - dataSourceName = "data.mongodbatlas_network_container.test" -) - -func TestAccNetworkContainerDS_basicAWS(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - CheckDestroy: checkDestroy, - Steps: []resource.TestStep{ - { - Config: dataSourceConfigBasicAWS(projectName, orgID, cidrBlock, constant.AWS, "US_EAST_1"), - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), - resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.AWS), - resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), - ), - }, - }, - }) -} - -func TestAccNetworkContainerDS_basicAzure(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - CheckDestroy: checkDestroy, - Steps: []resource.TestStep{ - { - Config: dataSourceConfigBasicAzure(projectName, orgID, cidrBlock, constant.AZURE, "US_EAST_2"), - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), - resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.AZURE), - resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), - ), - }, - }, - }) -} - -func TestAccNetworkContainerDS_basicGCP(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - CheckDestroy: checkDestroy, - Steps: []resource.TestStep{ - { - Config: dataSourceConfigBasicGCP(projectName, orgID, gcpCidrBlock, constant.GCP), - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), - resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.GCP), - resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), - ), - }, - }, - }) -} - -func dataSourceConfigBasicAWS(projectName, orgID, cidrBlock, providerName, region string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - region_name = "%s" - } - - data "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_network_container.test.project_id - container_id = mongodbatlas_network_container.test.id - } - - `, projectName, orgID, cidrBlock, providerName, region) -} - -func dataSourceConfigBasicAzure(projectName, orgID, cidrBlock, providerName, region string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - region = "%s" - } - - data "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_network_container.test.project_id - container_id = mongodbatlas_network_container.test.id - } - `, projectName, orgID, cidrBlock, providerName, region) -} - -func dataSourceConfigBasicGCP(projectName, orgID, cidrBlock, providerName string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - } - - data "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_network_container.test.project_id - container_id = mongodbatlas_network_container.test.id - } - `, projectName, orgID, cidrBlock, providerName) -} diff --git a/internal/service/networkcontainer/data_source_network_containers_test.go b/internal/service/networkcontainer/data_source_network_containers_test.go deleted file mode 100644 index 80e053ea1d..0000000000 --- a/internal/service/networkcontainer/data_source_network_containers_test.go +++ /dev/null @@ -1,146 +0,0 @@ -package networkcontainer_test - -import ( - "fmt" - "os" - "testing" - - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/mongodb/terraform-provider-mongodbatlas/internal/common/constant" - "github.com/mongodb/terraform-provider-mongodbatlas/internal/testutil/acc" -) - -func TestAccNetworkContainerDSPlural_basicAWS(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - Steps: []resource.TestStep{ - { - Config: dataSourcePluralConfigBasicAWS(projectName, orgID, cidrBlock, constant.AWS, "US_EAST_1"), - Check: resource.ComposeTestCheckFunc( - checkExists(dataSourceContainersName), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.#"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.id"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.atlas_cidr_block"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provider_name"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provisioned"), - ), - }, - }, - }) -} - -func TestAccNetworkContainerDSPlural_basicAzure(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - Steps: []resource.TestStep{ - { - Config: dataSourcePluralConfigBasicAzure(projectName, orgID, cidrBlock, constant.AZURE, "US_EAST_2"), - Check: resource.ComposeTestCheckFunc( - checkExists(dataSourceContainersName), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.#"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.id"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.atlas_cidr_block"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provider_name"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provisioned"), - ), - }, - }, - }) -} - -func TestAccNetworkContainerDSPlural_basicGCP(t *testing.T) { - var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() - ) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acc.PreCheckBasic(t) }, - ProtoV6ProviderFactories: acc.TestAccProviderV6Factories, - Steps: []resource.TestStep{ - { - Config: dataSourcePluralConfigBasicGCP(projectName, orgID, gcpCidrBlock, constant.GCP), - Check: resource.ComposeTestCheckFunc( - checkExists(dataSourceContainersName), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.#"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.id"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.atlas_cidr_block"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provider_name"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provisioned"), - ), - }, - }, - }) -} - -func dataSourcePluralConfigBasicAWS(projectName, orgID, cidrBlock, providerName, region string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - region_name = "%s" - } - - data "mongodbatlas_network_containers" "test" { - project_id = mongodbatlas_network_container.test.project_id - provider_name = "AWS" - } - - `, projectName, orgID, cidrBlock, providerName, region) -} - -func dataSourcePluralConfigBasicAzure(projectName, orgID, cidrBlock, providerName, region string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - region = "%s" - } - - data "mongodbatlas_network_containers" "test" { - project_id = mongodbatlas_network_container.test.project_id - provider_name = "AZURE" - } - `, projectName, orgID, cidrBlock, providerName, region) -} - -func dataSourcePluralConfigBasicGCP(projectName, orgID, cidrBlock, providerName string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - } - - data "mongodbatlas_network_containers" "test" { - project_id = mongodbatlas_network_container.test.project_id - provider_name = "GCP" - } - `, projectName, orgID, cidrBlock, providerName) -} diff --git a/internal/service/networkcontainer/resource_network_container_test.go b/internal/service/networkcontainer/resource_network_container_test.go index 8699daee44..4cb2c42c9b 100644 --- a/internal/service/networkcontainer/resource_network_container_test.go +++ b/internal/service/networkcontainer/resource_network_container_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "log" - "os" "testing" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" @@ -14,12 +13,16 @@ import ( "github.com/mongodb/terraform-provider-mongodbatlas/internal/testutil/acc" ) +const ( + resourceName = "mongodbatlas_network_container.test" + dataSourceName = "data.mongodbatlas_network_container.test" + dataSourcePluralName = "data.mongodbatlas_network_containers.test" +) + var ( - randInt = acctest.RandIntRange(0, 255) - resourceName = "mongodbatlas_network_container.test" - dataSourceContainersName = "data.mongodbatlas_network_containers.test" - cidrBlock = fmt.Sprintf("10.8.%d.0/24", randInt) - gcpCidrBlock = fmt.Sprintf("10.%d.0.0/18", randInt) + randInt = acctest.RandIntRange(0, 255) + cidrBlock = fmt.Sprintf("10.8.%d.0/24", randInt) + gcpCidrBlock = fmt.Sprintf("10.%d.0.0/18", randInt) ) func TestAccNetworkContainerRS_basicAWS(t *testing.T) { @@ -41,6 +44,18 @@ func TestAccNetworkContainerRS_basicAWS(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "project_id"), resource.TestCheckResourceAttr(resourceName, "provider_name", constant.AWS), resource.TestCheckResourceAttrSet(resourceName, "provisioned"), + + checkExists(dataSourceName), + resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), + resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.AWS), + resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), + + checkExists(dataSourcePluralName), + resource.TestCheckResourceAttrWith(dataSourcePluralName, "results.#", acc.IntGreatThan(0)), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.id"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.atlas_cidr_block"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provider_name"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provisioned"), ), }, { @@ -75,6 +90,18 @@ func TestAccNetworkContainerRS_basicAzure(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "project_id"), resource.TestCheckResourceAttr(resourceName, "provider_name", constant.AZURE), resource.TestCheckResourceAttrSet(resourceName, "provisioned"), + + checkExists(dataSourceName), + resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), + resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.AZURE), + resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), + + checkExists(dataSourcePluralName), + resource.TestCheckResourceAttrWith(dataSourcePluralName, "results.#", acc.IntGreatThan(0)), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.id"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.atlas_cidr_block"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provider_name"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provisioned"), ), }, { @@ -109,6 +136,18 @@ func TestAccNetworkContainerRS_basicGCP(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "project_id"), resource.TestCheckResourceAttr(resourceName, "provider_name", constant.GCP), resource.TestCheckResourceAttrSet(resourceName, "provisioned"), + + checkExists(dataSourceName), + resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), + resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.GCP), + resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), + + checkExists(dataSourcePluralName), + resource.TestCheckResourceAttrWith(dataSourcePluralName, "results.#", acc.IntGreatThan(0)), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.id"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.atlas_cidr_block"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provider_name"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provisioned"), ), }, { @@ -124,11 +163,11 @@ func TestAccNetworkContainerRS_basicGCP(t *testing.T) { }) } -func TestAccNetworkContainerRS_WithRegionsGCP(t *testing.T) { +func TestAccNetworkContainerRS_withRegionsGCP(t *testing.T) { var ( - orgID = os.Getenv("MONGODB_ATLAS_ORG_ID") - projectName = acc.RandomProjectName() + projectID = acc.ProjectIDExecution(t) gcpWithRegionsCidrBlock = fmt.Sprintf("10.%d.0.0/21", randInt) + regions = "[\"US_EAST_4\", \"US_WEST_3\"]" ) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acc.PreCheckBasic(t) }, @@ -136,18 +175,24 @@ func TestAccNetworkContainerRS_WithRegionsGCP(t *testing.T) { CheckDestroy: checkDestroy, Steps: []resource.TestStep{ { - Config: configGCPWithRegions(projectName, orgID, gcpWithRegionsCidrBlock, constant.GCP), + Config: configBasic(projectID, gcpWithRegionsCidrBlock, constant.GCP, regions), Check: resource.ComposeTestCheckFunc( checkExists(resourceName), resource.TestCheckResourceAttrSet(resourceName, "project_id"), resource.TestCheckResourceAttr(resourceName, "provider_name", constant.GCP), resource.TestCheckResourceAttrSet(resourceName, "provisioned"), + + checkExists(dataSourceName), resource.TestCheckResourceAttrSet(dataSourceName, "project_id"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.#"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.id"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.atlas_cidr_block"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provider_name"), - resource.TestCheckResourceAttrSet(dataSourceContainersName, "results.0.provisioned"), + resource.TestCheckResourceAttr(dataSourceName, "provider_name", constant.GCP), + resource.TestCheckResourceAttrSet(dataSourceName, "provisioned"), + + checkExists(dataSourcePluralName), + resource.TestCheckResourceAttrWith(dataSourcePluralName, "results.#", acc.IntGreatThan(0)), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.id"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.atlas_cidr_block"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provider_name"), + resource.TestCheckResourceAttrSet(dataSourcePluralName, "results.0.provisioned"), ), }, }, @@ -223,7 +268,14 @@ func checkDestroy(s *terraform.State) error { func configBasic(projectID, cidrBlock, providerName, region string) string { var regionStr string if region != "" { - regionStr = fmt.Sprintf("region = %q", region) + switch providerName { + case constant.AWS: + regionStr = fmt.Sprintf("region_name = %q", region) + case constant.AZURE: + regionStr = fmt.Sprintf("region = %q", region) + case constant.GCP: + regionStr = fmt.Sprintf("regions = %s", region) + } } return fmt.Sprintf(` resource "mongodbatlas_network_container" "test" { @@ -232,22 +284,6 @@ func configBasic(projectID, cidrBlock, providerName, region string) string { provider_name = %[3]q %[4]s } - `, projectID, cidrBlock, providerName, regionStr) -} - -func configGCPWithRegions(projectName, orgID, cidrBlock, providerName string) string { - return fmt.Sprintf(` - resource "mongodbatlas_project" "test" { - name = "%s" - org_id = "%s" - } - - resource "mongodbatlas_network_container" "test" { - project_id = mongodbatlas_project.test.id - atlas_cidr_block = "%s" - provider_name = "%s" - regions = ["US_EAST_4", "US_WEST_3"] - } data "mongodbatlas_network_container" "test" { project_id = mongodbatlas_network_container.test.project_id @@ -256,7 +292,7 @@ func configGCPWithRegions(projectName, orgID, cidrBlock, providerName string) st data "mongodbatlas_network_containers" "test" { project_id = mongodbatlas_network_container.test.project_id - provider_name = "GCP" + provider_name = %[3]q } - `, projectName, orgID, cidrBlock, providerName) + `, projectID, cidrBlock, providerName, regionStr) }