diff --git a/.github/workflows/acceptance-tests-runner.yml b/.github/workflows/acceptance-tests-runner.yml index 8b044693e7..bc5f58db1f 100644 --- a/.github/workflows/acceptance-tests-runner.yml +++ b/.github/workflows/acceptance-tests-runner.yml @@ -103,6 +103,8 @@ env: TF_ACC: 1 TF_LOG: ${{ vars.LOG_LEVEL }} ACCTEST_TIMEOUT: ${{ vars.ACCTEST_TIMEOUT }} + ACCTEST_REGEX_RUN: "^TestAcc" + ACCTEST_REGEX_SKIP: "^TestAccMigration" MONGODB_ATLAS_BASE_URL: ${{ inputs.mongodb_atlas_base_url }} MONGODB_ATLAS_ORG_ID: ${{ inputs.mongodb_atlas_org_id }} MONGODB_ATLAS_PUBLIC_KEY: ${{ secrets.mongodb_atlas_public_key }} @@ -230,7 +232,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccOutageSimulationCluster" + ACCTEST_PACKAGES: ./internal/service/clusteroutagesimulation run: make testacc advanced_cluster: @@ -250,7 +252,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccClusterAdvancedCluster" + ACCTEST_PACKAGES: ./internal/service/advancedcluster run: make testacc cluster: @@ -270,7 +272,9 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccClusterRS" + ACCTEST_PACKAGES: | + ./internal/service/cluster + ./internal/service/globalclusterconfig run: make testacc search_deployment: @@ -290,7 +294,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccSearchDeployment" + ACCTEST_PACKAGES: ./internal/service/searchdeployment run: make testacc stream: @@ -311,7 +315,9 @@ jobs: - name: Acceptance Tests env: MONGODB_ATLAS_ENABLE_PREVIEW: "true" - TEST_REGEX: "^TestAccStream" + ACCTEST_PACKAGES: | + ./internal/service/streaminstance + ./internal/service/streamconnection run: make testacc generic: # Acceptance tests that do not use any time-consuming resource (example: cluster) @@ -333,9 +339,11 @@ jobs: env: MONGODB_ATLAS_PROJECT_OWNER_ID: ${{ inputs.mongodb_atlas_project_owner_id }} CA_CERT: ${{ secrets.ca_cert }} - TEST_REGEX: "^TestAccGeneric" - run: | - make testacc + ACCTEST_PACKAGES: | + ./internal/service/backupcompliancepolicy + ./internal/service/auditing + ./internal/service/x509authenticationdatabaseuser + run: make testacc backup: needs: [ change-detection ] if: ${{ needs.change-detection.outputs.backup == 'true' || inputs.test_group == 'backup' }} @@ -354,7 +362,13 @@ jobs: - name: Acceptance Tests env: MONGODB_ATLAS_PROJECT_OWNER_ID: ${{ inputs.mongodb_atlas_project_owner_id }} - TEST_REGEX: "^TestAccBackup" + ACCTEST_PACKAGES: | + ./internal/service/onlinearchive + ./internal/service/cloudbackupschedule + ./internal/service/cloudbackupsnapshot + ./internal/service/cloudbackupsnapshotexportbucket + ./internal/service/cloudbackupsnapshotexportjob + ./internal/service/cloudbackupsnapshotrestorejob run: make testacc project: needs: [ change-detection ] @@ -383,7 +397,11 @@ jobs: AWS_SECURITY_GROUP_2: ${{ vars.AWS_SECURITY_GROUP_2 }} AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }} AWS_VPC_ID: ${{ vars.AWS_VPC_ID }} - TEST_REGEX: "^TestAccProject" + ACCTEST_PACKAGES: | + ./internal/service/project + ./internal/service/projectipaccesslist + ./internal/service/accesslistapikey + ./internal/service/projectinvitation run: make testacc serverless: needs: [ change-detection ] @@ -402,7 +420,10 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccServerless" + ACCTEST_PACKAGES: | + ./internal/service/serverlessinstance + ./internal/service/privatelinkendpointserverless + ./internal/service/privatelinkendpointserviceserverless run: make testacc network: needs: [ change-detection ] @@ -431,7 +452,13 @@ jobs: AWS_SECURITY_GROUP_2: ${{ vars.AWS_SECURITY_GROUP_2 }} AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }} AWS_VPC_ID: ${{ vars.AWS_VPC_ID }} - TEST_REGEX: "^TestAccNetwork" + ACCTEST_PACKAGES: | + ./internal/service/networkcontainer + ./internal/service/networkpeering + ./internal/service/privateendpointregionalmode + ./internal/service/privatelinkendpoint + ./internal/service/privatelinkendpointservice + ./internal/service/privatelinkendpointservicedatafederationonlinearchive run: make testacc config: needs: [ change-detection ] @@ -455,7 +482,21 @@ jobs: AZURE_ATLAS_APP_ID: ${{ inputs.azure_atlas_app_id }} AZURE_SERVICE_PRINCIPAL_ID: ${{ inputs.azure_service_principal_id }} AZURE_TENANT_ID: ${{ inputs.azure_tenant_id }} - TEST_REGEX: "^TestAccConfig" + ACCTEST_PACKAGES: | + ./internal/service/alertconfiguration + ./internal/service/atlasuser + ./internal/service/databaseuser + ./internal/service/projectapikey + ./internal/service/apikey + ./internal/service/teams + ./internal/service/cloudprovideraccess + ./internal/service/customdbrole + ./internal/service/maintenancewindow + ./internal/service/customdnsconfigurationclusteraws + ./internal/service/rolesorgid + ./internal/service/orginvitation + ./internal/service/organization + ./internal/service/thirdpartyintegration run: make testacc assume_role: @@ -493,7 +534,7 @@ jobs: AWS_ACCESS_KEY_ID: ${{ steps.sts-assume-role.outputs.aws_access_key_id }} AWS_SECRET_ACCESS_KEY: ${{ steps.sts-assume-role.outputs.aws_secret_access_key }} AWS_SESSION_TOKEN: ${{ steps.sts-assume-role.outputs.AWS_SESSION_TOKEN }} - TEST_REGEX: "^TestAccSTSAssumeRole" + ACCTEST_PACKAGES: ./internal/provider run: make testacc search_index: @@ -513,7 +554,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccSearchIndex" + ACCTEST_PACKAGES: ./internal/service/searchindex run: make testacc federated: @@ -544,7 +585,12 @@ jobs: AWS_REGION: ${{ vars.aws_region_federation }} AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }} AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }} - TEST_REGEX: "^TestAccFederated" + ACCTEST_PACKAGES: | + ./internal/service/federatedsettingsidentityprovider + ./internal/service/federateddatabaseinstance + ./internal/service/federatedsettingsorgconfig + ./internal/service/federatedsettingsorgrolemapping + ./internal/service/federatedquerylimit run: make testacc data_lake: needs: [ change-detection ] @@ -563,7 +609,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccDataLake" + ACCTEST_PACKAGES: ./internal/service/datalakepipeline run: make testacc ldap: needs: [ change-detection ] @@ -587,7 +633,9 @@ jobs: MONGODB_ATLAS_LDAP_PASSWORD: ${{ secrets.mongodb_atlas_ldap_password }} MONGODB_ATLAS_LDAP_PORT: ${{ secrets.mongodb_atlas_ldap_port }} MONGODB_ATLAS_LDAP_CA_CERTIFICATE: ${{ secrets.mongodb_atlas_ldap_ca_certificate }} - TEST_REGEX: "^TestAccLDAP" + ACCTEST_PACKAGES: | + ./internal/service/ldapconfiguration + ./internal/service/ldapverify run: make testacc encryption: needs: [ change-detection ] @@ -606,7 +654,7 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccEncryption" + ACCTEST_PACKAGES: ./internal/service/encryptionatrest run: make testacc event_trigger: needs: [ change-detection ] @@ -625,5 +673,5 @@ jobs: terraform_wrapper: false - name: Acceptance Tests env: - TEST_REGEX: "^TestAccEventTrigger" + ACCTEST_PACKAGES: ./internal/service/eventtrigger run: make testacc diff --git a/.github/workflows/migration-tests.yml b/.github/workflows/migration-tests.yml index a1be13a349..2ed9b8ffd8 100644 --- a/.github/workflows/migration-tests.yml +++ b/.github/workflows/migration-tests.yml @@ -32,6 +32,7 @@ env: TF_ACC: 1 TF_LOG: ${{ vars.LOG_LEVEL }} ACCTEST_TIMEOUT: ${{ vars.ACCTEST_TIMEOUT }} + ACCTEST_REGEX_RUN: "^TestAccMigration" MONGODB_ATLAS_BASE_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }} MONGODB_ATLAS_ORG_ID: ${{ vars.MONGODB_ATLAS_ORG_ID_CLOUD_DEV }} MONGODB_ATLAS_PUBLIC_KEY: ${{ secrets.MONGODB_ATLAS_PUBLIC_KEY_CLOUD_DEV }} @@ -176,7 +177,11 @@ jobs: AWS_SECURITY_GROUP_2: ${{ vars.AWS_SECURITY_GROUP_2 }} AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }} AWS_VPC_ID: ${{ vars.AWS_VPC_ID }} - TEST_REGEX: "^TestAccMigrationProject" + ACCTEST_PACKAGES: | + ./internal/service/project + ./internal/service/projectipaccesslist + ./internal/service/accesslistapikey + ./internal/service/projectinvitation run: make testacc config: @@ -202,7 +207,21 @@ jobs: AZURE_SERVICE_PRINCIPAL_ID: ${{vars.AZURE_SERVICE_PRINCIPAL_ID}} AZURE_TENANT_ID: ${{vars.AZURE_TENANT_ID}} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationConfig" + ACCTEST_PACKAGES: | + ./internal/service/alertconfiguration + ./internal/service/atlasuser + ./internal/service/databaseuser + ./internal/service/projectapikey + ./internal/service/apikey + ./internal/service/teams + ./internal/service/cloudprovideraccess + ./internal/service/customdbrole + ./internal/service/maintenancewindow + ./internal/service/customdnsconfigurationclusteraws + ./internal/service/rolesorgid + ./internal/service/orginvitation + ./internal/service/organization + ./internal/service/thirdpartyintegration run: make testacc backup: @@ -224,7 +243,13 @@ jobs: env: MONGODB_ATLAS_PROJECT_OWNER_ID: ${{ vars.MONGODB_ATLAS_PROJECT_OWNER_ID }} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationBackup" + ACCTEST_PACKAGES: | + ./internal/service/onlinearchive + ./internal/service/cloudbackupschedule + ./internal/service/cloudbackupsnapshot + ./internal/service/cloudbackupsnapshotexportbucket + ./internal/service/cloudbackupsnapshotexportjob + ./internal/service/cloudbackupsnapshotrestorejob run: make testacc advanced_cluster: @@ -245,7 +270,7 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationAdvancedCluster" + ACCTEST_PACKAGES: ./internal/service/advancedcluster run: make testacc stream: @@ -269,7 +294,9 @@ jobs: # can be removed when MONGODB_ATLAS_LAST_VERSION supports the new MONGODB_ATLAS_ENABLE_PREVIEW flag MONGODB_ATLAS_ENABLE_BETA: "true" MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationStream" + ACCTEST_PACKAGES: | + ./internal/service/streaminstance + ./internal/service/streamconnection run: make testacc federated: @@ -294,7 +321,12 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationFederated" + ACCTEST_PACKAGES: | + ./internal/service/federatedsettingsidentityprovider + ./internal/service/federateddatabaseinstance + ./internal/service/federatedsettingsorgconfig + ./internal/service/federatedsettingsorgrolemapping + ./internal/service/federatedquerylimit run: make testacc search_deployment: @@ -315,7 +347,7 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationSearchDeployment" + ACCTEST_PACKAGES: ./internal/service/searchdeployment run: make testacc generic: @@ -338,7 +370,10 @@ jobs: MONGODB_ATLAS_PROJECT_OWNER_ID: ${{ vars.MONGODB_ATLAS_PROJECT_OWNER_ID }} CA_CERT: ${{ secrets.CA_CERT }} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationGeneric" + ACCTEST_PACKAGES: | + ./internal/service/backupcompliancepolicy + ./internal/service/auditing + ./internal/service/x509authenticationdatabaseuser run: make testacc network: @@ -369,7 +404,13 @@ jobs: AWS_VPC_CIDR_BLOCK: ${{ vars.AWS_VPC_CIDR_BLOCK }} AWS_VPC_ID: ${{ vars.AWS_VPC_ID }} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationNetwork" + ACCTEST_PACKAGES: | + ./internal/service/networkcontainer + ./internal/service/networkpeering + ./internal/service/privateendpointregionalmode + ./internal/service/privatelinkendpoint + ./internal/service/privatelinkendpointservice + ./internal/service/privatelinkendpointservicedatafederationonlinearchive run: make testacc encryption: needs: [ change-detection, get-provider-version ] @@ -389,7 +430,7 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationEncryption" + ACCTEST_PACKAGES: ./internal/service/encryptionatrest run: make testacc serverless: needs: [ change-detection, get-provider-version ] @@ -409,7 +450,10 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationServerless" + ACCTEST_PACKAGES: | + ./internal/service/serverlessinstance + ./internal/service/privatelinkendpointserverless + ./internal/service/privatelinkendpointserviceserverless run: make testacc data_lake: needs: [ change-detection, get-provider-version ] @@ -429,7 +473,7 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationcDataLake" + ACCTEST_PACKAGES: ./internal/service/datalakepipeline run: make testacc cluster_outage_simulation: needs: [ change-detection, get-provider-version ] @@ -449,7 +493,7 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationOutageSimulationCluster" + ACCTEST_PACKAGES: ./internal/service/clusteroutagesimulation run: make testacc cluster: needs: [ change-detection, get-provider-version ] @@ -469,7 +513,9 @@ jobs: - name: Migration Tests env: MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationClusterRS" + ACCTEST_PACKAGES: | + ./internal/service/cluster + ./internal/service/globalclusterconfig run: make testacc ldap: needs: [ change-detection, get-provider-version ] @@ -494,5 +540,7 @@ jobs: MONGODB_ATLAS_LDAP_CA_CERTIFICATE: ${{ secrets.MONGODB_ATLAS_LDAP_CA_CERTIFICATE }} MONGODB_ATLAS_LDAP_PORT: ${{ secrets.MONGODB_ATLAS_LDAP_PORT }} MONGODB_ATLAS_LAST_VERSION: ${{ needs.get-provider-version.outputs.provider_version }} - TEST_REGEX: "^TestAccMigrationLDAP" + ACCTEST_PACKAGES: | + ./internal/service/ldapconfiguration + ./internal/service/ldapverify run: make testacc diff --git a/GNUmakefile b/GNUmakefile index 3ee600efca..26710319f1 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,3 +1,11 @@ + +ifdef ACCTEST_PACKAGES + # remove newlines and blanks coming from GH Actions + ACCTEST_PACKAGES := $(strip $(subst $(newline),, $(ACCTEST_PACKAGES))) +else + ACCTEST_PACKAGES := "./..." +endif +ACCTEST_REGEX_RUN?=^TestAcc ACCTEST_TIMEOUT?=300m PARALLEL_GO_TEST?=20 @@ -36,7 +44,7 @@ test: fmtcheck .PHONY: testacc testacc: fmtcheck @$(eval VERSION=acc) - TF_ACC=1 go test ./... -run '$(TEST_REGEX)' -v -parallel '$(PARALLEL_GO_TEST)' $(TESTARGS) -timeout $(ACCTEST_TIMEOUT) -ldflags="$(LINKER_FLAGS)" + TF_ACC=1 go test $(ACCTEST_PACKAGES) -run '$(ACCTEST_REGEX_RUN)' -skip '$(ACCTEST_REGEX_SKIP)' -v -parallel $(PARALLEL_GO_TEST) $(TESTARGS) -timeout $(ACCTEST_TIMEOUT) -ldflags="$(LINKER_FLAGS)" .PHONY: testaccgov testaccgov: fmtcheck