Skip to content

Commit 3b30c58

Browse files
committed
test: changing aa database test to test regions
1 parent c0a6f43 commit 3b30c58

File tree

1 file changed

+87
-77
lines changed

1 file changed

+87
-77
lines changed

provider/rediscloud_active_active_database_test.go

Lines changed: 87 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@ import (
1717
// Checks CRUDI (CREATE, READ, UPDATE, IMPORT) operations on the database resource.
1818
func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) {
1919

20-
testAccRequiresEnvVar(t, "EXECUTE_TESTS")
21-
2220
subscriptionName := acctest.RandomWithPrefix(testResourcePrefix) + "-subscription"
23-
name := acctest.RandomWithPrefix(testResourcePrefix) + "-database"
21+
databaseName := acctest.RandomWithPrefix(testResourcePrefix) + "-database"
2422
password := acctest.RandString(20)
25-
const resourceName = "rediscloud_active_active_subscription_database.example"
23+
const databaseResourceName = "rediscloud_active_active_subscription_database.example"
2624
const datasourceName = "data.rediscloud_active_active_subscription_database.example"
2725
const datasourceRegionName = "data.rediscloud_active_active_subscription_regions.foo"
2826
const subscriptionResourceName = "rediscloud_active_active_subscription.example"
@@ -36,44 +34,44 @@ func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) {
3634
Steps: []resource.TestStep{
3735
// Test database creation
3836
{
39-
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabase, subscriptionName, name, password),
37+
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabase, subscriptionName, databaseName, password),
4038
Check: resource.ComposeAggregateTestCheckFunc(
4139
// Test resource
42-
resource.TestCheckResourceAttr(resourceName, "name", name),
43-
resource.TestCheckResourceAttr(resourceName, "dataset_size_in_gb", "3"),
44-
resource.TestCheckResourceAttr(resourceName, "support_oss_cluster_api", "false"),
45-
resource.TestCheckResourceAttr(resourceName, "global_data_persistence", "none"),
46-
resource.TestCheckResourceAttr(resourceName, "external_endpoint_for_oss_cluster_api", "false"),
47-
resource.TestCheckResourceAttr(resourceName, "global_password", password),
48-
resource.TestCheckResourceAttr(resourceName, "enable_tls", "false"),
49-
resource.TestCheckResourceAttr(resourceName, "data_eviction", "volatile-lru"),
50-
resource.TestCheckResourceAttr(resourceName, "global_alert.#", "1"),
51-
resource.TestCheckResourceAttr(resourceName, "global_alert.0.name", "dataset-size"),
52-
resource.TestCheckResourceAttr(resourceName, "global_alert.0.value", "1"),
53-
resource.TestCheckResourceAttr(resourceName, "global_modules.#", "1"),
54-
resource.TestCheckResourceAttr(resourceName, "global_modules.0", "RedisJSON"),
55-
resource.TestCheckResourceAttr(resourceName, "global_source_ips.#", "2"),
56-
57-
resource.TestCheckResourceAttr(resourceName, "override_region.#", "2"),
58-
resource.TestCheckResourceAttr(resourceName, "override_region.0.name", "us-east-1"),
59-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_data_persistence", "aof-every-write"),
60-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_password", "region-specific-password"),
40+
resource.TestCheckResourceAttr(databaseResourceName, "name", databaseName),
41+
resource.TestCheckResourceAttr(databaseResourceName, "dataset_size_in_gb", "3"),
42+
resource.TestCheckResourceAttr(databaseResourceName, "support_oss_cluster_api", "false"),
43+
resource.TestCheckResourceAttr(databaseResourceName, "global_data_persistence", "none"),
44+
resource.TestCheckResourceAttr(databaseResourceName, "external_endpoint_for_oss_cluster_api", "false"),
45+
resource.TestCheckResourceAttr(databaseResourceName, "global_password", password),
46+
resource.TestCheckResourceAttr(databaseResourceName, "enable_tls", "false"),
47+
resource.TestCheckResourceAttr(databaseResourceName, "data_eviction", "volatile-lru"),
48+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.#", "1"),
49+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.0.name", "dataset-size"),
50+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.0.value", "1"),
51+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.#", "1"),
52+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.0", "RedisJSON"),
53+
resource.TestCheckResourceAttr(databaseResourceName, "global_source_ips.#", "2"),
54+
55+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.#", "2"),
56+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.name", "us-east-1"),
57+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_data_persistence", "aof-every-write"),
58+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_password", "region-specific-password"),
6159
// check override region alert block
62-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.#", "1"),
63-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.0.name", "dataset-size"),
64-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.0.value", "42"),
65-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_source_ips.#", "1"),
66-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_source_ips.0", "192.175.0.0/16"),
60+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.#", "1"),
61+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.0.name", "dataset-size"),
62+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.0.value", "42"),
63+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_source_ips.#", "1"),
64+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_source_ips.0", "192.175.0.0/16"),
6765

6866
// Check that global values are used for the second region where no override is set
69-
resource.TestCheckResourceAttr(resourceName, "override_region.1.name", "us-east-2"),
70-
resource.TestCheckResourceAttr(resourceName, "override_region.1.override_global_data_persistence", ""),
71-
resource.TestCheckResourceAttr(resourceName, "override_region.1.override_global_password", ""),
72-
resource.TestCheckResourceAttr(resourceName, "override_region.1.override_global_alert.#", "0"),
73-
resource.TestCheckResourceAttr(resourceName, "override_region.1.override_source_ips.#", "0"),
67+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.1.name", "us-east-2"),
68+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.1.override_global_data_persistence", ""),
69+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.1.override_global_password", ""),
70+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.1.override_global_alert.#", "0"),
71+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.1.override_source_ips.#", "0"),
7472

75-
resource.TestCheckResourceAttr(resourceName, "tags.deployment_family", "blue"),
76-
resource.TestCheckResourceAttr(resourceName, "tags.priority", "code-2"),
73+
resource.TestCheckResourceAttr(databaseResourceName, "tags.deployment_family", "blue"),
74+
resource.TestCheckResourceAttr(databaseResourceName, "tags.priority", "code-2"),
7775

7876
// Test databases exist
7977
func(s *terraform.State) error {
@@ -109,7 +107,7 @@ func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) {
109107
// Test subscription datasource
110108
resource.TestCheckResourceAttrSet(datasourceName, "subscription_id"),
111109
resource.TestCheckResourceAttrSet(datasourceName, "db_id"),
112-
resource.TestCheckResourceAttr(datasourceName, "name", name),
110+
resource.TestCheckResourceAttr(datasourceName, "name", databaseName),
113111
resource.TestCheckResourceAttr(datasourceName, "dataset_size_in_gb", "3"),
114112
resource.TestCheckResourceAttr(datasourceName, "support_oss_cluster_api", "false"),
115113
resource.TestCheckResourceAttr(datasourceName, "external_endpoint_for_oss_cluster_api", "false"),
@@ -122,41 +120,53 @@ func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) {
122120
resource.TestCheckResourceAttr(datasourceName, "tags.priority", "code-2"),
123121

124122
// Test the region datasource
125-
resource.TestCheckResourceAttr(datasourceRegionName, "subscription_name", name),
123+
resource.TestCheckResourceAttr(datasourceRegionName, "subscription_name", subscriptionName),
124+
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.0.vpc_id"),
126125
resource.TestCheckResourceAttr(datasourceRegionName, "regions.0.region", "us-east-1"),
127126
resource.TestCheckResourceAttr(datasourceRegionName, "regions.0.networking_deployment_cidr", "192.168.0.0/24"),
128-
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.0.vpc_id"),
127+
128+
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.0.databases.0.database_id"),
129+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.0.databases.0.database_name", databaseName),
130+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.0.databases.0.read_operations_per_second", "1000"),
131+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.0.databases.0.write_operations_per_second", "1000"),
132+
133+
134+
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.1.vpc_id"),
129135
resource.TestCheckResourceAttr(datasourceRegionName, "regions.1.region", "us-east-2"),
130136
resource.TestCheckResourceAttr(datasourceRegionName, "regions.1.networking_deployment_cidr", "10.0.1.0/24"),
131-
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.1.vpc_id"),
137+
138+
resource.TestCheckResourceAttrSet(datasourceRegionName, "regions.1.databases.0.database_id"),
139+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.1.databases.0.database_name", databaseName),
140+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.1.databases.0.read_operations_per_second", "1000"),
141+
resource.TestCheckResourceAttr(datasourceRegionName, "regions.1.databases.0.write_operations_per_second", "1000"),
132142
),
133143
},
134144
// Test database is updated successfully, including updates to both global and local alerts and clearing modules
135145
{
136-
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseUpdate, subscriptionName, name),
146+
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseUpdate, subscriptionName, databaseName),
137147
Check: resource.ComposeAggregateTestCheckFunc(
138148
// Test resource
139-
resource.TestCheckResourceAttr(resourceName, "dataset_size_in_gb", "1"),
140-
resource.TestCheckResourceAttr(resourceName, "support_oss_cluster_api", "true"),
141-
resource.TestCheckResourceAttr(resourceName, "external_endpoint_for_oss_cluster_api", "true"),
142-
resource.TestCheckResourceAttr(resourceName, "global_data_persistence", "aof-every-1-second"),
143-
resource.TestCheckResourceAttr(resourceName, "global_password", "updated-password"),
144-
resource.TestCheckResourceAttr(resourceName, "global_alert.#", "1"),
145-
resource.TestCheckResourceAttr(resourceName, "global_alert.0.name", "dataset-size"),
146-
resource.TestCheckResourceAttr(resourceName, "global_alert.0.value", "60"),
149+
resource.TestCheckResourceAttr(databaseResourceName, "dataset_size_in_gb", "1"),
150+
resource.TestCheckResourceAttr(databaseResourceName, "support_oss_cluster_api", "true"),
151+
resource.TestCheckResourceAttr(databaseResourceName, "external_endpoint_for_oss_cluster_api", "true"),
152+
resource.TestCheckResourceAttr(databaseResourceName, "global_data_persistence", "aof-every-1-second"),
153+
resource.TestCheckResourceAttr(databaseResourceName, "global_password", "updated-password"),
154+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.#", "1"),
155+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.0.name", "dataset-size"),
156+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.0.value", "60"),
147157

148158
// Changes are ignored after creation
149-
resource.TestCheckResourceAttr(resourceName, "global_modules.#", "1"),
150-
resource.TestCheckResourceAttr(resourceName, "global_modules.0", "RedisJSON"),
151-
152-
resource.TestCheckResourceAttr(resourceName, "override_region.#", "1"),
153-
resource.TestCheckResourceAttr(resourceName, "override_region.0.name", "us-east-1"),
154-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_data_persistence", "none"),
155-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_password", "password-updated"),
156-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.#", "1"),
157-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.0.name", "dataset-size"),
158-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.0.value", "41"),
159-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_source_ips.#", "0"),
159+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.#", "1"),
160+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.0", "RedisJSON"),
161+
162+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.#", "1"),
163+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.name", "us-east-1"),
164+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_data_persistence", "none"),
165+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_password", "password-updated"),
166+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.#", "1"),
167+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.0.name", "dataset-size"),
168+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.0.value", "41"),
169+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_source_ips.#", "0"),
160170

161171
// Test datasource
162172
resource.TestCheckResourceAttr(datasourceName, "dataset_size_in_gb", "1"),
@@ -166,28 +176,28 @@ func TestAccResourceRedisCloudActiveActiveDatabase_CRUDI(t *testing.T) {
166176
},
167177
// Test database is updated, including deletion of global and local alerts and replacing modules
168178
{
169-
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseUpdateNoAlerts, subscriptionName, name),
179+
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseUpdateNoAlerts, subscriptionName, databaseName),
170180
Check: resource.ComposeAggregateTestCheckFunc(
171-
resource.TestCheckResourceAttr(resourceName, "dataset_size_in_gb", "1"),
172-
resource.TestCheckResourceAttr(resourceName, "support_oss_cluster_api", "true"),
173-
resource.TestCheckResourceAttr(resourceName, "external_endpoint_for_oss_cluster_api", "true"),
174-
resource.TestCheckResourceAttr(resourceName, "global_data_persistence", "aof-every-1-second"),
175-
resource.TestCheckResourceAttr(resourceName, "global_password", "updated-password"),
176-
resource.TestCheckResourceAttr(resourceName, "global_alert.#", "0"),
177-
resource.TestCheckResourceAttr(resourceName, "global_modules.#", "1"),
178-
resource.TestCheckResourceAttr(resourceName, "global_modules.0", "RedisJSON"),
179-
180-
resource.TestCheckResourceAttr(resourceName, "override_region.#", "1"),
181-
resource.TestCheckResourceAttr(resourceName, "override_region.0.name", "us-east-1"),
182-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_data_persistence", "none"),
183-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_password", "password-updated"),
184-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_alert.#", "0"),
185-
resource.TestCheckResourceAttr(resourceName, "override_region.0.override_global_source_ips.#", "0"),
181+
resource.TestCheckResourceAttr(databaseResourceName, "dataset_size_in_gb", "1"),
182+
resource.TestCheckResourceAttr(databaseResourceName, "support_oss_cluster_api", "true"),
183+
resource.TestCheckResourceAttr(databaseResourceName, "external_endpoint_for_oss_cluster_api", "true"),
184+
resource.TestCheckResourceAttr(databaseResourceName, "global_data_persistence", "aof-every-1-second"),
185+
resource.TestCheckResourceAttr(databaseResourceName, "global_password", "updated-password"),
186+
resource.TestCheckResourceAttr(databaseResourceName, "global_alert.#", "0"),
187+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.#", "1"),
188+
resource.TestCheckResourceAttr(databaseResourceName, "global_modules.0", "RedisJSON"),
189+
190+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.#", "1"),
191+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.name", "us-east-1"),
192+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_data_persistence", "none"),
193+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_password", "password-updated"),
194+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_alert.#", "0"),
195+
resource.TestCheckResourceAttr(databaseResourceName, "override_region.0.override_global_source_ips.#", "0"),
186196
),
187197
},
188198
// Test that that database is imported successfully
189199
{
190-
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseImport, subscriptionName, name),
200+
Config: fmt.Sprintf(testAccResourceRedisCloudActiveActiveDatabaseImport, subscriptionName, databaseName),
191201
ResourceName: "rediscloud_active_active_subscription_database.example",
192202
ImportState: true,
193203
ImportStateVerify: true,

0 commit comments

Comments
 (0)