Skip to content

Commit 1776ca4

Browse files
cfericvaishakdinesh
authored andcommitted
test(argo_smart_routing): add test cases
1 parent 55dc96d commit 1776ca4

File tree

4 files changed

+56
-5
lines changed

4 files changed

+56
-5
lines changed

internal/services/argo_smart_routing/resource_test.go

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package argo_smart_routing_test
33
import (
44
"fmt"
55
"os"
6+
"regexp"
67
"testing"
78

89
"github.com/cloudflare/terraform-provider-cloudflare/internal/acctest"
@@ -17,21 +18,63 @@ func TestAccCloudflareArgoSmartRouting_Basic(t *testing.T) {
1718

1819
resource.Test(t, resource.TestCase{
1920
PreCheck: func() {
20-
acctest.TestAccPreCheck_AccountID(t)
21+
acctest.TestAccPreCheck_ZoneID(t)
2122
acctest.TestAccPreCheck_Credentials(t)
2223
},
2324
ProtoV6ProviderFactories: acctest.TestAccProtoV6ProviderFactories,
2425
Steps: []resource.TestStep{
2526
{
26-
Config: testAccCheckCloudflareArgoSmartRoutingBasic(zoneID, rnd),
27+
Config: testAccCheckCloudflareArgoSmartRoutingEnable(zoneID, rnd),
2728
Check: resource.ComposeTestCheckFunc(
29+
resource.TestCheckResourceAttr(name, "id", zoneID),
30+
resource.TestCheckResourceAttr(name, "zone_id", zoneID),
2831
resource.TestCheckResourceAttr(name, "value", "on"),
2932
),
3033
},
34+
{
35+
Config: testAccCheckCloudflareArgoSmartRoutingDisable(zoneID, rnd),
36+
Check: resource.ComposeTestCheckFunc(
37+
resource.TestCheckResourceAttr(name, "id", zoneID),
38+
resource.TestCheckResourceAttr(name, "zone_id", zoneID),
39+
resource.TestCheckResourceAttr(name, "value", "off"),
40+
),
41+
},
42+
{
43+
ResourceName: name,
44+
ImportState: true,
45+
ImportStateVerify: true,
46+
},
3147
},
3248
})
3349
}
3450

35-
func testAccCheckCloudflareArgoSmartRoutingBasic(zoneID, name string) string {
36-
return acctest.LoadTestCase("basic.tf", zoneID, name)
51+
func TestAccCloudflareArgoSmartRouting_InvalidValue(t *testing.T) {
52+
zoneID := os.Getenv("CLOUDFLARE_ZONE_ID")
53+
rnd := utils.GenerateRandomResourceName()
54+
55+
resource.Test(t, resource.TestCase{
56+
PreCheck: func() {
57+
acctest.TestAccPreCheck_AccountID(t)
58+
acctest.TestAccPreCheck_Credentials(t)
59+
},
60+
ProtoV6ProviderFactories: acctest.TestAccProtoV6ProviderFactories,
61+
Steps: []resource.TestStep{
62+
{
63+
Config: testAccCheckCloudflareArgoSmartRoutingInvalidValue(zoneID, rnd),
64+
ExpectError: regexp.MustCompile(regexp.QuoteMeta("Invalid Attribute Value Match")),
65+
},
66+
},
67+
})
68+
}
69+
70+
func testAccCheckCloudflareArgoSmartRoutingEnable(zoneID, name string) string {
71+
return acctest.LoadTestCase("enable.tf", zoneID, name)
72+
}
73+
74+
func testAccCheckCloudflareArgoSmartRoutingDisable(zoneID, name string) string {
75+
return acctest.LoadTestCase("disable.tf", zoneID, name)
76+
}
77+
78+
func testAccCheckCloudflareArgoSmartRoutingInvalidValue(zoneID, name string) string {
79+
return acctest.LoadTestCase("invalid_value.tf", zoneID, name)
3780
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
resource "cloudflare_argo_smart_routing" "%[2]s" {
2+
zone_id = "%[1]s"
3+
value = "off"
4+
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
resource "cloudflare_argo_smart_routing" "%[2]s" {
2-
zone_id = "%[1]s"
2+
zone_id = "%[1]s"
33
value = "on"
44
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
resource "cloudflare_argo_smart_routing" "%[2]s" {
2+
zone_id = "%[1]s"
3+
value = "invalid"
4+
}

0 commit comments

Comments
 (0)