]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - statuscake/resource_statuscaketest_test.go
Move template interpolation deeper into acceptance tests
[github/fretlink/terraform-provider-statuscake.git] / statuscake / resource_statuscaketest_test.go
index 62d6bf9681375a1279eb4f43cd345d9599287ccb..8bcbb36a9cf1db5a71da66c90a5a1392a8907961 100644 (file)
@@ -2,6 +2,7 @@ package statuscake
 
 import (
        "fmt"
+       "os"
        "strconv"
        "testing"
 
@@ -19,7 +20,7 @@ func TestAccStatusCake_basic(t *testing.T) {
                CheckDestroy: testAccTestCheckDestroy(&test),
                Steps: []resource.TestStep{
                        {
-                               Config: fmt.Sprintf(testAccTestConfig_basic, testContactGroupId),
+                               Config: interpolateTerraformTemplate(testAccTestConfig_basic),
                                Check: resource.ComposeTestCheckFunc(
                                        testAccTestCheckExists("statuscake_test.google", &test),
                                        testAccTestCheckAttributes("statuscake_test.google", &test),
@@ -38,7 +39,7 @@ func TestAccStatusCake_tcp(t *testing.T) {
                CheckDestroy: testAccTestCheckDestroy(&test),
                Steps: []resource.TestStep{
                        {
-                               Config: fmt.Sprintf(testAccTestConfig_tcp, testContactGroupId),
+                               Config: interpolateTerraformTemplate(testAccTestConfig_tcp),
                                Check: resource.ComposeTestCheckFunc(
                                        testAccTestCheckExists("statuscake_test.google", &test),
                                        testAccTestCheckAttributes("statuscake_test.google", &test),
@@ -57,7 +58,7 @@ func TestAccStatusCake_withUpdate(t *testing.T) {
                CheckDestroy: testAccTestCheckDestroy(&test),
                Steps: []resource.TestStep{
                        {
-                               Config: fmt.Sprintf(testAccTestConfig_basic, testContactGroupId),
+                               Config: interpolateTerraformTemplate(testAccTestConfig_basic),
                                Check: resource.ComposeTestCheckFunc(
                                        testAccTestCheckExists("statuscake_test.google", &test),
                                ),
@@ -79,9 +80,6 @@ func TestAccStatusCake_withUpdate(t *testing.T) {
                                        resource.TestCheckResourceAttr("statuscake_test.google", "status", "Up"),
                                        resource.TestCheckResourceAttr("statuscake_test.google", "uptime", "0"),
                                        resource.TestCheckResourceAttr("statuscake_test.google", "node_locations.#", "3"),
-                                       resource.TestCheckResourceAttr("statuscake_test.google", "node_locations.0", "string16045"),
-                                       resource.TestCheckResourceAttr("statuscake_test.google", "node_locations.1", "string19741"),
-                                       resource.TestCheckResourceAttr("statuscake_test.google", "node_locations.2", "string12122"),
                                        resource.TestCheckResourceAttr("statuscake_test.google", "ping_url", "string8410"),
                                        resource.TestCheckResourceAttr("statuscake_test.google", "basic_user", "string27052"),
                                        resource.TestCheckResourceAttr("statuscake_test.google", "basic_pass", "string5659"),
@@ -169,8 +167,6 @@ func testAccTestCheckAttributes(rn string, test *statuscake.Test) resource.TestC
                                err = check(key, value, strconv.Itoa(test.TriggerRate))
                        case "custom_header":
                                err = check(key, value, test.CustomHeader)
-                       case "user_agent":
-                               err = check(key, value, test.UserAgent)
                        case "node_locations":
                                for _, tv := range test.NodeLocations {
                                        err = check(key, value, tv)
@@ -178,30 +174,14 @@ func testAccTestCheckAttributes(rn string, test *statuscake.Test) resource.TestC
                                                return err
                                        }
                                }
-                       case "ping_url":
-                               err = check(key, value, test.PingURL)
-                       case "basic_user":
-                               err = check(key, value, test.BasicUser)
-                       case "basic_pass":
-                               err = check(key, value, test.BasicPass)
                        case "public":
                                err = check(key, value, strconv.Itoa(test.Public))
                        case "logo_image":
                                err = check(key, value, test.LogoImage)
-                       case "branding":
-                               err = check(key, value, strconv.Itoa(test.Branding))
-                       case "website_host":
-                               err = check(key, value, test.WebsiteHost)
-                       case "virus":
-                               err = check(key, value, strconv.Itoa(test.Virus))
                        case "find_string":
                                err = check(key, value, test.FindString)
                        case "do_not_find":
                                err = check(key, value, strconv.FormatBool(test.DoNotFind))
-                       case "real_browser":
-                               err = check(key, value, strconv.Itoa(test.RealBrowser))
-                       case "test_tags":
-                               err = check(key, value, test.TestTags)
                        case "status_codes":
                                err = check(key, value, test.StatusCodes)
                        case "use_jar":
@@ -233,6 +213,19 @@ func testAccTestCheckDestroy(test *statuscake.Test) resource.TestCheckFunc {
        }
 }
 
+func interpolateTerraformTemplate(template string) string {
+       testContactGroupId := 43402
+
+       if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v != "" {
+               id, err := strconv.Atoi(v)
+               if err == nil {
+                       testContactGroupId = id
+               }
+       }
+
+       return fmt.Sprintf(template, testContactGroupId)
+}
+
 const testAccTestConfig_basic = `
 resource "statuscake_test" "google" {
        website_name = "google.com"