diff --git a/.github/workflows/terraform_provider.yml b/.github/workflows/terraform_provider.yml index b18f5e2e..1a5d9dbe 100644 --- a/.github/workflows/terraform_provider.yml +++ b/.github/workflows/terraform_provider.yml @@ -11,9 +11,29 @@ on: - develop env: TERRAFORM_VERSION: "1.2.6" + REDISCLOUD_ACCESS_KEY: ${{ secrets.REDISCLOUD_ACCESS_KEY_STAGING }} + REDISCLOUD_SECRET_KEY: ${{ secrets.REDISCLOUD_SECRET_KEY_STAGING }} + REDISCLOUD_URL: ${{ secrets.REDISCLOUD_URL_STAGING }} + AWS_TEST_CLOUD_ACCOUNT_NAME: "${{ secrets.AWS_TEST_CLOUD_ACCOUNT_NAME_STAGING }}" + AWS_PEERING_REGION: ${{ secrets.AWS_PEERING_REGION }} + AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} + AWS_VPC_CIDR: ${{ secrets.AWS_VPC_CIDR }} + AWS_VPC_ID: ${{ secrets.AWS_VPC_ID }} + AWS_TEST_TGW_ID: ${{ secrets.AWS_TEST_TGW_ID_STAGING }} + TF_ACC: true + TF_LOG: info + AWS_ACCESS_KEY_ID: ${{ secrets.CLOUD_ACCOUNT_KEY }} + AWS_ACCESS_SECRET_KEY: ${{ secrets.CLOUD_ACCOUNT_SECRET }} + AWS_CONSOLE_USERNAME: ${{ secrets.CLOUD_ACCOUNT_USERNAME }} + AWS_CONSOLE_PASSWORD: ${{ secrets.CLOUD_ACCOUNT_PASS }} + AWS_SIGNIN_URL: ${{ secrets.CLOUD_ACCOUNT_URL }} + GCP_VPC_PROJECT: ${{ secrets.GCP_VPC_PROJECT }} + GCP_VPC_ID: ${{ secrets.GCP_VPC_ID }} + GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} + GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }} concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: \{\{ github\.workflow \}\}\-{{ github.ref }} cancel-in-progress: true jobs: @@ -86,8 +106,8 @@ jobs: mkdir terraform-providers-schema terraform providers schema -json > terraform-providers-schema/schema.json - go_test: - name: go test + go_test_databases: + name: go test Databases needs: [go_build] runs-on: ubuntu-latest steps: @@ -95,48 +115,73 @@ jobs: - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version-file: go.mod - - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 - id: filter + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(Essentials|Pro|ActiveActive)Database_.*"' + + go_test_subscriptions: + name: go test Subscriptions + needs: [go_test_databases] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: - filters: | - code-changes: - - 'go.mod' - - 'go.sum' - - 'provider/**' - - '*.go' - - '.github/workflows/**' - - run: make testacc - if: steps.filter.outputs.code-changes == 'true' - env: - REDISCLOUD_ACCESS_KEY: ${{ secrets.REDISCLOUD_ACCESS_KEY_STAGING }} - REDISCLOUD_SECRET_KEY: ${{ secrets.REDISCLOUD_SECRET_KEY_STAGING }} - REDISCLOUD_URL: ${{ secrets.REDISCLOUD_URL_STAGING }} - AWS_TEST_CLOUD_ACCOUNT_NAME: "${{ secrets.AWS_TEST_CLOUD_ACCOUNT_NAME_STAGING }}" - AWS_PEERING_REGION: ${{ secrets.AWS_PEERING_REGION }} - AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - AWS_VPC_CIDR: ${{ secrets.AWS_VPC_CIDR }} - AWS_VPC_ID: ${{ secrets.AWS_VPC_ID }} - AWS_TEST_TGW_ID: ${{ secrets.AWS_TEST_TGW_ID_STAGING }} - TF_ACC: true - TF_LOG: debug - AWS_ACCESS_KEY_ID: ${{ secrets.CLOUD_ACCOUNT_KEY }} - AWS_ACCESS_SECRET_KEY: ${{ secrets.CLOUD_ACCOUNT_SECRET }} - AWS_CONSOLE_USERNAME: ${{ secrets.CLOUD_ACCOUNT_USERNAME }} - AWS_CONSOLE_PASSWORD: ${{ secrets.CLOUD_ACCOUNT_PASS }} - AWS_SIGNIN_URL: ${{ secrets.CLOUD_ACCOUNT_URL }} - GCP_VPC_PROJECT: ${{ secrets.GCP_VPC_PROJECT }} - GCP_VPC_ID: ${{ secrets.GCP_VPC_ID }} - GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} - GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }} - - name: Generate code coverage report - if: steps.filter.outputs.code-changes == 'true' && (success() || failure()) - run: make generate_coverage - - name: Upload code coverage report - if: steps.filter.outputs.code-changes == 'true' && (success() || failure()) - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(Essentials|Pro|ActiveActive)Subscription_.*"' + + go_test_subscriptions_tls: + name: go test Subscriptions TLS + needs: [go_test_subscriptions] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: - name: coverage.html - path: bin/coverage.html + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloudSubscriptionTls_.*"' + + go_test_essentials_plan: + name: go test Essentials Plan + needs: [go_test_subscriptions_tls] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 + with: + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloudEssentialsPlan_.*"' + + go_test_persistence_modules_regions_acl: + name: go test Other + needs: [go_test_essentials_plan] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 + with: + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(DataPersistence|DatabaseModules|Regions|Acl).*"' + + go_test_cloud_account: + name: go test Cloud Account + needs: [go_test_persistence_modules_regions_acl] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 + with: + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-test.short -run="TestAcc(DataSource|Resource)RedisCloud(CloudAccount).*"' + + go_test_transit_payment: + name: go test Transit Gateway & Payment + needs: [go_test_cloud_account] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 + with: + go-version-file: go.mod + - run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(TransitGatewayAttachment|PaymentMethod).*"' tfproviderlint: name: tfproviderlint @@ -148,4 +193,3 @@ jobs: with: go-version-file: go.mod - run: make tfproviderlint - diff --git a/provider/datasource_rediscloud_acl_rule_test.go b/provider/datasource_rediscloud_acl_rule_test.go new file mode 100644 index 00000000..418e6bdc --- /dev/null +++ b/provider/datasource_rediscloud_acl_rule_test.go @@ -0,0 +1,42 @@ +package provider + +import ( + "fmt" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "regexp" + "testing" +) + +func TestAccDataSourceRedisCloudAclRule_ForDefaultRule(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + + // This rule already exists + const testName = "Read-Write" + const testRule = "+@all -@dangerous ~*" + getRuleTerraform := fmt.Sprintf(getDefaultDatasourceAclRuleDataSource, testName) + + const AclRuleTest = "data.rediscloud_acl_rule.test" + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + ProviderFactories: providerFactories, + CheckDestroy: nil, // test doesn't create a resource, so don't need to check anything + Steps: []resource.TestStep{ + { + Config: getRuleTerraform, + Check: resource.ComposeAggregateTestCheckFunc( + resource.TestMatchResourceAttr( + AclRuleTest, "id", regexp.MustCompile("^\\d*$")), + resource.TestCheckResourceAttr(AclRuleTest, "name", testName), + resource.TestCheckResourceAttr(AclRuleTest, "rule", testRule), + ), + }, + }, + }) +} + +const getDefaultDatasourceAclRuleDataSource = ` +data "rediscloud_acl_rule" "test" { + name = "%s" +} +` diff --git a/provider/datasource_rediscloud_cloud_account_test.go b/provider/datasource_rediscloud_cloud_account_test.go index 0abb1e53..40037e57 100644 --- a/provider/datasource_rediscloud_cloud_account_test.go +++ b/provider/datasource_rediscloud_cloud_account_test.go @@ -10,6 +10,9 @@ import ( ) func TestAccDataSourceRedisCloudCloudAccount_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") const testCloudAccount = "data.rediscloud_cloud_account.test" diff --git a/provider/datasource_rediscloud_data_persistence_test.go b/provider/datasource_rediscloud_data_persistence_test.go index 7b7caa00..a01c85c1 100644 --- a/provider/datasource_rediscloud_data_persistence_test.go +++ b/provider/datasource_rediscloud_data_persistence_test.go @@ -7,6 +7,9 @@ import ( ) func TestAccDataSourceRedisCloudDataPersistence_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + const dataPersistenceFoo = "data.rediscloud_data_persistence.foo" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, diff --git a/provider/datasource_rediscloud_database_modules_test.go b/provider/datasource_rediscloud_database_modules_test.go index 0816b262..db1d82a9 100644 --- a/provider/datasource_rediscloud_database_modules_test.go +++ b/provider/datasource_rediscloud_database_modules_test.go @@ -7,6 +7,9 @@ import ( ) func TestAccDataSourceRedisCloudDatabaseModules_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, diff --git a/provider/datasource_rediscloud_essentials_plan_test.go b/provider/datasource_rediscloud_essentials_plan_test.go index 6193cc60..499feba4 100644 --- a/provider/datasource_rediscloud_essentials_plan_test.go +++ b/provider/datasource_rediscloud_essentials_plan_test.go @@ -8,6 +8,8 @@ import ( func TestAccDataSourceRedisCloudEssentialsPlan_basic(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + const basicPlan = "data.rediscloud_essentials_plan.basic" resource.ParallelTest(t, resource.TestCase{ @@ -48,6 +50,8 @@ func TestAccDataSourceRedisCloudEssentialsPlan_basic(t *testing.T) { func TestAccDataSourceRedisCloudEssentialsPlan_azure(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + const azurePlan = "data.rediscloud_essentials_plan.azure" resource.ParallelTest(t, resource.TestCase{ @@ -88,6 +92,8 @@ func TestAccDataSourceRedisCloudEssentialsPlan_azure(t *testing.T) { func TestAccDataSourceRedisCloudEssentialsPlan_subscriptionId(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + const examplePlan = "data.rediscloud_essentials_plan.example" resource.ParallelTest(t, resource.TestCase{ @@ -130,6 +136,8 @@ func TestAccDataSourceRedisCloudEssentialsPlan_subscriptionId(t *testing.T) { func TestAccDataSourceRedisCloudEssentialsPlan_ambiguous(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, @@ -145,6 +153,8 @@ func TestAccDataSourceRedisCloudEssentialsPlan_ambiguous(t *testing.T) { func TestAccDataSourceRedisCloudEssentialsPlan_impossible(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, diff --git a/provider/datasource_rediscloud_payment_method_test.go b/provider/datasource_rediscloud_payment_method_test.go index 8b300101..b8249b00 100644 --- a/provider/datasource_rediscloud_payment_method_test.go +++ b/provider/datasource_rediscloud_payment_method_test.go @@ -8,6 +8,8 @@ import ( func TestAccDataSourceRedisCloudPaymentMethod_basic(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, diff --git a/provider/datasource_rediscloud_pro_database_test.go b/provider/datasource_rediscloud_pro_database_test.go index 1105c9d5..1695cf1b 100644 --- a/provider/datasource_rediscloud_pro_database_test.go +++ b/provider/datasource_rediscloud_pro_database_test.go @@ -10,6 +10,9 @@ import ( ) func TestAccDataSourceRedisCloudProDatabase_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") diff --git a/provider/datasource_rediscloud_pro_subscription_test.go b/provider/datasource_rediscloud_pro_subscription_test.go index 1098a475..f9ba9ffd 100644 --- a/provider/datasource_rediscloud_pro_subscription_test.go +++ b/provider/datasource_rediscloud_pro_subscription_test.go @@ -11,6 +11,9 @@ import ( ) func TestAccDataSourceRedisCloudProSubscription_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix("tf-test") const resourceName = "rediscloud_subscription.example" @@ -57,6 +60,9 @@ func TestAccDataSourceRedisCloudProSubscription_basic(t *testing.T) { } func TestAccDataSourceRedisCloudProSubscription_ignoresAA(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) diff --git a/provider/datasource_rediscloud_regions_test.go b/provider/datasource_rediscloud_regions_test.go index 6f0dbb91..d9736f4b 100644 --- a/provider/datasource_rediscloud_regions_test.go +++ b/provider/datasource_rediscloud_regions_test.go @@ -7,6 +7,9 @@ import ( ) func TestAccDataSourceRedisCloudRegions_all(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, @@ -40,6 +43,9 @@ func TestAccDataSourceRedisCloudRegions_all(t *testing.T) { } func TestAccDataSourceRedisCloudRegions_AWS(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, @@ -64,6 +70,9 @@ func TestAccDataSourceRedisCloudRegions_AWS(t *testing.T) { } func TestAccDataSourceRedisCloudRegions_GCP(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, ProviderFactories: providerFactories, diff --git a/provider/datasource_rediscloud_subscription_peerings_test.go b/provider/datasource_rediscloud_subscription_peerings_test.go index 7d32aaf4..99786533 100644 --- a/provider/datasource_rediscloud_subscription_peerings_test.go +++ b/provider/datasource_rediscloud_subscription_peerings_test.go @@ -11,6 +11,9 @@ import ( ) func TestAccDataSourceRedisCloudSubscriptionPeerings_basic(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") diff --git a/provider/rediscloud_acl_role_test.go b/provider/rediscloud_acl_role_test.go index cda31151..4753bf30 100644 --- a/provider/rediscloud_acl_role_test.go +++ b/provider/rediscloud_acl_role_test.go @@ -13,7 +13,9 @@ import ( "testing" ) -func TestAccCreateReadUpdateImportDeleteAclRole_Pro(t *testing.T) { +func TestAccResourceRedisCloudAclRole_CRUDI(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") prefix := acctest.RandomWithPrefix(testResourcePrefix) exampleCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") diff --git a/provider/rediscloud_acl_user_test.go b/provider/rediscloud_acl_user_test.go index b85cc433..33c6f584 100644 --- a/provider/rediscloud_acl_user_test.go +++ b/provider/rediscloud_acl_user_test.go @@ -15,6 +15,8 @@ import ( func TestAccResourceRedisCloudAclUser_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + prefix := acctest.RandomWithPrefix(testResourcePrefix) exampleCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") exampleSubscriptionName := prefix + "-subscription" diff --git a/provider/rediscloud_active_active_database_test.go b/provider/rediscloud_active_active_database_test.go index 739f7f46..54693057 100644 --- a/provider/rediscloud_active_active_database_test.go +++ b/provider/rediscloud_active_active_database_test.go @@ -17,6 +17,8 @@ import ( // Checks CRUDI (CREATE,READ,UPDATE,IMPORT) operations on the database resource. func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) + "-subscription" name := acctest.RandomWithPrefix(testResourcePrefix) + "-database" password := acctest.RandString(20) @@ -201,6 +203,9 @@ func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) { } func TestAccResourceRedisCloudActiveActiveDatabase_optionalAttributes(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + // Test that attributes can be optional, either by setting them or not having them set when compared to CRUDI test subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) + "-subscription" name := acctest.RandomWithPrefix(testResourcePrefix) + "-database" @@ -224,6 +229,9 @@ func TestAccResourceRedisCloudActiveActiveDatabase_optionalAttributes(t *testing } func TestAccResourceRedisCloudActiveActiveDatabase_timeUtcRequiresValidInterval(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") password := acctest.RandString(20) diff --git a/provider/rediscloud_active_active_private_service_connect_endpoint_accepter_test.go b/provider/rediscloud_active_active_private_service_connect_endpoint_accepter_test.go index b1f52516..82a3b9f1 100644 --- a/provider/rediscloud_active_active_private_service_connect_endpoint_accepter_test.go +++ b/provider/rediscloud_active_active_private_service_connect_endpoint_accepter_test.go @@ -15,6 +15,8 @@ import ( func TestAccResourceRedisCloudActiveActivePrivateServiceConnectEndpointAccepter_Create(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-pscea" const resourceName = "rediscloud_active_active_private_service_connect_endpoint_accepter.accepter" diff --git a/provider/rediscloud_active_active_private_service_connect_endpoint_test.go b/provider/rediscloud_active_active_private_service_connect_endpoint_test.go index fce47fc0..21163a50 100644 --- a/provider/rediscloud_active_active_private_service_connect_endpoint_test.go +++ b/provider/rediscloud_active_active_private_service_connect_endpoint_test.go @@ -12,6 +12,8 @@ import ( func TestAccResourceRedisCloudActiveActivePrivateServiceConnectEndpoint_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-psce" const resourceName = "rediscloud_active_active_private_service_connect_endpoint.psce" diff --git a/provider/rediscloud_active_active_private_service_connect_test.go b/provider/rediscloud_active_active_private_service_connect_test.go index 9c43901b..b19a0994 100644 --- a/provider/rediscloud_active_active_private_service_connect_test.go +++ b/provider/rediscloud_active_active_private_service_connect_test.go @@ -10,6 +10,8 @@ import ( func TestAccResourceRedisCloudActiveActivePrivateServiceConnect_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-psc" const resourceName = "rediscloud_active_active_private_service_connect.psc" diff --git a/provider/rediscloud_active_active_subscription_test.go b/provider/rediscloud_active_active_subscription_test.go index 35003f3e..06d63faf 100644 --- a/provider/rediscloud_active_active_subscription_test.go +++ b/provider/rediscloud_active_active_subscription_test.go @@ -23,6 +23,8 @@ var activeActiveMarketplaceFlag = flag.Bool("activeActiveMarketplace", false, // Checks CRUDI (CREATE,READ,UPDATE,IMPORT) operations on the subscription resource. func TestAccResourceRedisCloudActiveActiveSubscription_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) const resourceName = "rediscloud_active_active_subscription.example" const datasourceName = "data.rediscloud_active_active_subscription.example" @@ -220,6 +222,8 @@ func TestAccResourceRedisCloudActiveActiveSubscription_CRUDI(t *testing.T) { func TestAccResourceRedisCloudActiveActiveSubscription_createUpdateContractPayment(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + if !*activeActiveContractFlag { t.Skip("The '-activeActiveContract' parameter wasn't provided in the test command.") } @@ -258,6 +262,8 @@ func TestAccResourceRedisCloudActiveActiveSubscription_createUpdateContractPayme func TestAccResourceRedisCloudActiveActiveSubscription_createUpdateMarketplacePayment(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + if !*activeActiveMarketplaceFlag { t.Skip("The '-activeActiveMarketplace' parameter wasn't provided in the test command.") } diff --git a/provider/rediscloud_essentials_subscription_test.go b/provider/rediscloud_essentials_subscription_test.go index b69cf2a2..5c4dad4c 100644 --- a/provider/rediscloud_essentials_subscription_test.go +++ b/provider/rediscloud_essentials_subscription_test.go @@ -13,6 +13,8 @@ import ( func TestAccResourceRedisCloudEssentialsSubscription_FreeCRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) subscriptionNameUpdated := subscriptionName + "-updated" @@ -76,6 +78,8 @@ func TestAccResourceRedisCloudEssentialsSubscription_FreeCRUDI(t *testing.T) { func TestAccResourceRedisCloudEssentialsSubscription_PaidCRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) subscriptionNameUpdated := subscriptionName + "-updated" diff --git a/provider/rediscloud_private_service_connect_endpoint_accepter_test.go b/provider/rediscloud_private_service_connect_endpoint_accepter_test.go index 5c70e2f4..5680269e 100644 --- a/provider/rediscloud_private_service_connect_endpoint_accepter_test.go +++ b/provider/rediscloud_private_service_connect_endpoint_accepter_test.go @@ -15,6 +15,8 @@ import ( func TestAccResourceRedisCloudPrivateServiceConnectEndpointAccepter_Create(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-pscea" const resourceName = "rediscloud_private_service_connect_endpoint_accepter.accepter" diff --git a/provider/rediscloud_private_service_connect_endpoint_test.go b/provider/rediscloud_private_service_connect_endpoint_test.go index 8ae76201..46351f96 100644 --- a/provider/rediscloud_private_service_connect_endpoint_test.go +++ b/provider/rediscloud_private_service_connect_endpoint_test.go @@ -12,6 +12,8 @@ import ( func TestAccResourceRedisCloudPrivateServiceConnectEndpoint_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-psce" const resourceName = "rediscloud_private_service_connect_endpoint.psce" diff --git a/provider/rediscloud_private_service_connect_test.go b/provider/rediscloud_private_service_connect_test.go index 8fff4bd1..1b8ab305 100644 --- a/provider/rediscloud_private_service_connect_test.go +++ b/provider/rediscloud_private_service_connect_test.go @@ -10,6 +10,8 @@ import ( func TestAccResourceRedisCloudPrivateServiceConnect_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-psc" const resourceName = "rediscloud_private_service_connect.psc" diff --git a/provider/rediscloud_transit_gateway_attachment_test.go b/provider/rediscloud_transit_gateway_attachment_test.go index e0395589..777860ff 100644 --- a/provider/rediscloud_transit_gateway_attachment_test.go +++ b/provider/rediscloud_transit_gateway_attachment_test.go @@ -12,6 +12,8 @@ import ( func TestAccResourceRedisCloudTransitGatewayAttachment_Pro(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") testTgwId := os.Getenv("AWS_TEST_TGW_ID") baseName := acctest.RandomWithPrefix(testResourcePrefix) + "-pro-tgwa" diff --git a/provider/rediscloud_acl_rule_test.go b/provider/resource_rediscloud_acl_rule_test.go similarity index 84% rename from provider/rediscloud_acl_rule_test.go rename to provider/resource_rediscloud_acl_rule_test.go index 902fc49f..4e654aa3 100644 --- a/provider/rediscloud_acl_rule_test.go +++ b/provider/resource_rediscloud_acl_rule_test.go @@ -12,32 +12,9 @@ import ( "testing" ) -func TestAccRedisCloudAclRule_DataSourceForDefaultRule(t *testing.T) { - // This rule already exists - const testName = "Read-Write" - const testRule = "+@all -@dangerous ~*" - getRuleTerraform := fmt.Sprintf(getDefaultAclRuleDataSource, testName) +func TestAccResourceRedisCloudAclRule_CRUDI(t *testing.T) { - const AclRuleTest = "data.rediscloud_acl_rule.test" - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - ProviderFactories: providerFactories, - CheckDestroy: nil, // test doesn't create a resource, so don't need to check anything - Steps: []resource.TestStep{ - { - Config: getRuleTerraform, - Check: resource.ComposeAggregateTestCheckFunc( - resource.TestMatchResourceAttr( - AclRuleTest, "id", regexp.MustCompile("^\\d*$")), - resource.TestCheckResourceAttr(AclRuleTest, "name", testName), - resource.TestCheckResourceAttr(AclRuleTest, "rule", testRule), - ), - }, - }, - }) -} - -func TestAccRedisCloudAclRule_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") prefix := acctest.RandomWithPrefix(testResourcePrefix) testName := prefix + "-test-rule" diff --git a/provider/resource_rediscloud_active_active_subscription_peering_test.go b/provider/resource_rediscloud_active_active_subscription_peering_test.go index e4daf52b..74b9c219 100644 --- a/provider/resource_rediscloud_active_active_subscription_peering_test.go +++ b/provider/resource_rediscloud_active_active_subscription_peering_test.go @@ -12,6 +12,8 @@ import ( func TestAccResourceRedisCloudActiveActiveSubscriptionPeering_aws(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TEST_PEERING") + name := acctest.RandomWithPrefix(testResourcePrefix) cidrRange := os.Getenv("AWS_VPC_CIDR") @@ -72,6 +74,8 @@ func TestAccResourceRedisCloudActiveActiveSubscriptionPeering_aws(t *testing.T) func TestAccResourceRedisCloudActiveActiveSubscriptionPeering_gcp(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TEST_PEERING") + name := acctest.RandomWithPrefix(testResourcePrefix) tf := fmt.Sprintf(testAccResourceRedisCloudActiveActiveSubscriptionPeeringGCP, diff --git a/provider/resource_rediscloud_active_active_subscription_regions_test.go b/provider/resource_rediscloud_active_active_subscription_regions_test.go index 02d9dd62..69ef3a27 100644 --- a/provider/resource_rediscloud_active_active_subscription_regions_test.go +++ b/provider/resource_rediscloud_active_active_subscription_regions_test.go @@ -13,6 +13,9 @@ import ( ) func TestAccResourceRedisCloudActiveActiveSubscriptionRegions_CRUDI(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUB_ACTIVE_ACTIVE") + subName := acctest.RandomWithPrefix(testResourcePrefix) + "-regions-test" dbName := acctest.RandomWithPrefix(testResourcePrefix) + "-regions" + "-db" dbPass := acctest.RandString(20) diff --git a/provider/resource_rediscloud_cloud_account_test.go b/provider/resource_rediscloud_cloud_account_test.go index f91b2fb8..2f7e2499 100644 --- a/provider/resource_rediscloud_cloud_account_test.go +++ b/provider/resource_rediscloud_cloud_account_test.go @@ -15,6 +15,8 @@ import ( func TestAccResourceRedisCloudCloudAccount_basic(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + if testing.Short() { t.Skip("Required environment variables currently not available under CI") } diff --git a/provider/rediscloud_essentials_database_test.go b/provider/resource_rediscloud_essentials_database_test.go similarity index 99% rename from provider/rediscloud_essentials_database_test.go rename to provider/resource_rediscloud_essentials_database_test.go index 960c76f5..564bae91 100644 --- a/provider/rediscloud_essentials_database_test.go +++ b/provider/resource_rediscloud_essentials_database_test.go @@ -8,7 +8,9 @@ import ( "testing" ) -func TestAccRedisCloudEssentialsDatabase_BasicCRUDI(t *testing.T) { +func TestAccResourceRedisCloudEssentialsDatabase_CRUDI(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) databaseName := subscriptionName + "-db" diff --git a/provider/resource_rediscloud_pro_database_test.go b/provider/resource_rediscloud_pro_database_test.go index 79e5c627..e0455b84 100644 --- a/provider/resource_rediscloud_pro_database_test.go +++ b/provider/resource_rediscloud_pro_database_test.go @@ -17,6 +17,8 @@ import ( // Checks CRUDI (CREATE,READ,UPDATE,IMPORT) operations on the database resource. func TestAccResourceRedisCloudProDatabase_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) const resourceName = "rediscloud_subscription_database.example" @@ -156,6 +158,9 @@ func TestAccResourceRedisCloudProDatabase_CRUDI(t *testing.T) { } func TestAccResourceRedisCloudProDatabase_optionalAttributes(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + // Test that attributes can be optional, either by setting them or not having them set when compared to CRUDI test name := acctest.RandomWithPrefix(testResourcePrefix) const resourceName = "rediscloud_subscription_database.example" @@ -179,6 +184,9 @@ func TestAccResourceRedisCloudProDatabase_optionalAttributes(t *testing.T) { } func TestAccResourceRedisCloudProDatabase_timeUtcRequiresValidInterval(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") @@ -197,6 +205,9 @@ func TestAccResourceRedisCloudProDatabase_timeUtcRequiresValidInterval(t *testin // Tests the multi-modules feature in a database resource. func TestAccResourceRedisCloudProDatabase_MultiModules(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) dbName := "db-multi-modules" const resourceName = "rediscloud_subscription_database.example" @@ -226,6 +237,9 @@ func TestAccResourceRedisCloudProDatabase_MultiModules(t *testing.T) { } func TestAccResourceRedisCloudProDatabase_respversion(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + // Test that attributes can be optional, either by setting them or not having them set when compared to CRUDI test name := acctest.RandomWithPrefix(testResourcePrefix) const resourceName = "rediscloud_subscription_database.example" diff --git a/provider/resource_rediscloud_pro_subscription_test.go b/provider/resource_rediscloud_pro_subscription_test.go index 572ba72f..6d839cc1 100644 --- a/provider/resource_rediscloud_pro_subscription_test.go +++ b/provider/resource_rediscloud_pro_subscription_test.go @@ -27,6 +27,8 @@ var marketplaceFlag = flag.Bool("marketplace", false, // Checks CRUDI (CREATE,READ,UPDATE,IMPORT) operations on the subscription resource. func TestAccResourceRedisCloudProSubscription_CRUDI(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) const resourceName = "rediscloud_subscription.example" testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") @@ -130,6 +132,9 @@ func TestAccResourceRedisCloudProSubscription_CRUDI(t *testing.T) { } func TestAccResourceRedisCloudProSubscription_preferredAZsModulesOptional(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) const resourceName = "rediscloud_subscription.example" testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") @@ -152,6 +157,8 @@ func TestAccResourceRedisCloudProSubscription_preferredAZsModulesOptional(t *tes func TestAccResourceRedisCloudProSubscription_createUpdateContractPayment(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + if !*contractFlag { t.Skip("The '-contract' parameter wasn't provided in the test command.") } @@ -189,6 +196,8 @@ func TestAccResourceRedisCloudProSubscription_createUpdateContractPayment(t *tes func TestAccResourceRedisCloudProSubscription_createUpdateMarketplacePayment(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + if !*marketplaceFlag { t.Skip("The '-marketplace' parameter wasn't provided in the test command.") } @@ -223,6 +232,9 @@ func TestAccResourceRedisCloudProSubscription_createUpdateMarketplacePayment(t * } func TestAccResourceRedisCloudProSubscription_RedisVersion(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") @@ -268,6 +280,9 @@ func TestAccResourceRedisCloudProSubscription_RedisVersion(t *testing.T) { } func TestAccResourceRedisCloudProSubscription_MaintenanceWindows(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) + "-mw" resourceName := "rediscloud_subscription.example" datasourceName := "data.rediscloud_subscription.example" @@ -419,6 +434,9 @@ func TestAccResourceRedisCloudProSubscription_MaintenanceWindows(t *testing.T) { // Checks that modules are allocated correctly into each creation-plan db if there are multiple modules, including "RedisGraph" and the number of databases is one. func TestFlexSubModulesAllocationWhenGraphAndQuantityIsOne(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + numDatabases := 1 planMap := map[string]interface{}{ "average_item_size_in_bytes": 1000, @@ -454,6 +472,9 @@ func TestFlexSubModulesAllocationWhenGraphAndQuantityIsOne(t *testing.T) { // Checks that modules are allocated correctly into each creation-plan db if there are multiple modules, including "RedisGraph" and the number of databases is greater than one. func TestFlexSubModulesAllocationWhenGraphAndQuantityMoreThanOne(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + numDatabases := 5 planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, @@ -488,6 +509,9 @@ func TestFlexSubModulesAllocationWhenGraphAndQuantityMoreThanOne(t *testing.T) { // Checks that modules are allocated correctly into each creation-plan db if the only module is "RedisGraph". func TestFlexSubModulesAllocationWhenOnlyGraphModule(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + numDatabases := 5 planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, @@ -510,6 +534,9 @@ func TestFlexSubModulesAllocationWhenOnlyGraphModule(t *testing.T) { // Checks that modules are allocated correctly into the creation-plan dbs if "RedisGraph" is not included func TestFlexSubModulesAllocationWhenNoGraph(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + numDatabases := 5 planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, @@ -535,6 +562,9 @@ func TestFlexSubModulesAllocationWhenNoGraph(t *testing.T) { } func TestFlexSubNoModulesInCreatePlanDatabases(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, "dataset_size_in_gb": float64(1), @@ -555,6 +585,9 @@ func TestFlexSubNoModulesInCreatePlanDatabases(t *testing.T) { } func TestFlexSubNoAverageItemSizeInBytes(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, // 0 is the value that is returned when the field is not present "dataset_size_in_gb": float64(1), @@ -574,6 +607,9 @@ func TestFlexSubNoAverageItemSizeInBytes(t *testing.T) { } func TestFlexSubRediSearchThroughputMeasurementWhenReplicationIsFalse(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, "dataset_size_in_gb": float64(1), @@ -592,6 +628,9 @@ func TestFlexSubRediSearchThroughputMeasurementWhenReplicationIsFalse(t *testing } func TestFlexSubRediSearchThroughputMeasurementWhenReplicationIsTrue(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, "dataset_size_in_gb": float64(1), @@ -610,6 +649,9 @@ func TestFlexSubRediSearchThroughputMeasurementWhenReplicationIsTrue(t *testing. } func TestFlexSubRedisGraphThroughputMeasurementWhenReplicationIsFalse(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 0, "dataset_size_in_gb": float64(1), @@ -628,6 +670,9 @@ func TestFlexSubRedisGraphThroughputMeasurementWhenReplicationIsFalse(t *testing } func TestFlexSubRedisGraphThroughputMeasurementWhenReplicationIsTrue(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") + planMap := map[string]interface{}{ "average_item_size_in_bytes": 1000, "dataset_size_in_gb": float64(1), diff --git a/provider/resource_rediscloud_pro_tls_test.go b/provider/resource_rediscloud_pro_tls_test.go index b94aad12..2c0b86ac 100644 --- a/provider/resource_rediscloud_pro_tls_test.go +++ b/provider/resource_rediscloud_pro_tls_test.go @@ -18,7 +18,9 @@ var sslCertificate = "-----BEGIN CERTIFICATE-----\\nMIIFYzCCA0ugAwIBAgIUSy/xBxWL var invalidSslCertificate = "I am not a valid certificate" // enable_tls=true, client_ssl_certificate= -func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndSslCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithDatabaseWithEnabledTlsAndSslCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -123,7 +125,9 @@ func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndSs } // enable_tls=true, client_ssl_certificate="" -func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndEmptySslCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithDatabaseWithEnabledTlsAndEmptySslCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -200,7 +204,9 @@ func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndEm } // enable_tls=true, client_ssl_certificate= -func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndInvalidSslCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithDatabaseWithEnabledTlsAndInvalidSslCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -223,7 +229,9 @@ func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndIn } // enable_tls=false, client_ssl_certificate= -func TestAccResourceRedisCloudSubscription_createWithDatabaseAndDisabledTlsAndInvalidCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithDatabaseAndDisabledTlsAndInvalidCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TEST_SUBSCRIPTION") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -246,7 +254,9 @@ func TestAccResourceRedisCloudSubscription_createWithDatabaseAndDisabledTlsAndIn } // enable_tls=false, client_ssl_certificate="", client_tls_certificates=["something"] -func TestAccResourceRedisCloudSubscription_createWithoutEnableTlsAndTlsCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithoutEnableTlsAndTlsCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -268,7 +278,9 @@ func TestAccResourceRedisCloudSubscription_createWithoutEnableTlsAndTlsCert(t *t }) } -func TestAccResourceRedisCloudSubscription_createWithSslCertAndTlsCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithSslCertAndTlsCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) @@ -291,7 +303,9 @@ func TestAccResourceRedisCloudSubscription_createWithSslCertAndTlsCert(t *testin } // enable_tls=true, client_ssl_certificate="", client_tls_certificates=["something"] -func TestAccResourceRedisCloudSubscription_createWithDatabaseWithEnabledTlsAndTlsCert(t *testing.T) { +func TestAccResourceRedisCloudSubscriptionTls_createWithDatabaseWithEnabledTlsAndTlsCert(t *testing.T) { + + testAccRequiresEnvVar(t, "EXECUTE_TESTS") name := acctest.RandomWithPrefix(testResourcePrefix) password := acctest.RandString(20) diff --git a/provider/resource_rediscloud_subscription_peering_test.go b/provider/resource_rediscloud_subscription_peering_test.go index 12dbed12..28c68db0 100644 --- a/provider/resource_rediscloud_subscription_peering_test.go +++ b/provider/resource_rediscloud_subscription_peering_test.go @@ -13,6 +13,8 @@ import ( func TestAccResourceRedisCloudSubscriptionPeering_aws(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME") @@ -75,6 +77,8 @@ func TestAccResourceRedisCloudSubscriptionPeering_aws(t *testing.T) { func TestAccResourceRedisCloudSubscriptionPeering_gcp(t *testing.T) { + testAccRequiresEnvVar(t, "EXECUTE_TESTS") + name := acctest.RandomWithPrefix(testResourcePrefix) tf := fmt.Sprintf(testAccResourceRedisCloudSubscriptionPeeringGCP, diff --git a/provider/utils_test.go b/provider/utils_test.go index be2b2257..3a2a9f3f 100644 --- a/provider/utils_test.go +++ b/provider/utils_test.go @@ -2,6 +2,7 @@ package provider import ( "github.com/stretchr/testify/assert" + "os" "testing" ) @@ -26,3 +27,11 @@ func TestIsTime(t *testing.T) { }) } } + +func testAccRequiresEnvVar(t *testing.T, envVarName string) string { + envVarValue := os.Getenv(envVarName) + if envVarValue == "" || envVarValue == "false" { + t.Skipf("Skipping test because %s is not set.", envVarName) + } + return envVarValue +}