77 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
88 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99 "github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
10+ "regexp"
1011 "strconv"
1112 "testing"
1213)
@@ -275,6 +276,23 @@ func TestAccResourceRedisCloudEssentialsSubscription_Paid_Marketplace_CRUDI(t *t
275276 })
276277}
277278
279+ func TestAccResourceRedisCloudEssentialsSubscription_Incorrect_PaymentIdForType (t * testing.T ) {
280+ testAccRequiresEnvVar (t , "EXECUTE_TESTS" )
281+
282+ subscriptionName := acctest .RandomWithPrefix (testResourcePrefix )
283+
284+ resource .ParallelTest (t , resource.TestCase {
285+ PreCheck : func () { testAccPreCheck (t ) },
286+ ProviderFactories : providerFactories ,
287+ Steps : []resource.TestStep {
288+ {
289+ Config : fmt .Sprintf (testAccResourceRedisCloudPaidIncorrectPaymentTypeEssentialsSubscription , subscriptionName ),
290+ ExpectError : regexp .MustCompile ("payment methods aside from credit-card cannot have a payment ID" ),
291+ },
292+ },
293+ })
294+ }
295+
278296const testAccResourceRedisCloudFreeEssentialsSubscription = `
279297data "rediscloud_essentials_plan" "example" {
280298 name = "30MB"
@@ -293,10 +311,6 @@ data "rediscloud_essentials_subscription" "example" {
293311`
294312
295313const testAccResourceRedisCloudPaidMarketplaceEssentialsSubscription = `
296- data "rediscloud_payment_method" "card" {
297- card_type = "Visa"
298- }
299-
300314data "rediscloud_essentials_plan" "example" {
301315 name = "250MB"
302316 cloud_provider = "AWS"
@@ -307,7 +321,6 @@ resource "rediscloud_essentials_subscription" "example" {
307321 name = "%s"
308322 plan_id = data.rediscloud_essentials_plan.example.id
309323 payment_method = "marketplace"
310- payment_method_id = data.rediscloud_payment_method.card.id
311324}
312325
313326data "rediscloud_essentials_subscription" "example" {
@@ -361,6 +374,25 @@ data "rediscloud_essentials_subscription" "example" {
361374}
362375`
363376
377+ const testAccResourceRedisCloudPaidIncorrectPaymentTypeEssentialsSubscription = `
378+ data "rediscloud_essentials_plan" "example" {
379+ name = "250MB"
380+ cloud_provider = "AWS"
381+ region = "us-east-1"
382+ }
383+
384+ resource "rediscloud_essentials_subscription" "example" {
385+ name = "%s"
386+ plan_id = data.rediscloud_essentials_plan.example.id
387+ payment_method = "marketplace"
388+ payment_method_id = 999999999
389+ }
390+
391+ data "rediscloud_essentials_subscription" "example" {
392+ name = rediscloud_essentials_subscription.example.name
393+ }
394+ `
395+
364396func testAccCheckEssentialsSubscriptionDestroy (s * terraform.State ) error {
365397 client := testProvider .Meta ().(* apiClient )
366398
0 commit comments