]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/commitdiff
Move template interpolation deeper into acceptance tests
authorMat Schaffer <mat@schaffer.me>
Thu, 1 Feb 2018 13:53:16 +0000 (22:53 +0900)
committerMat Schaffer <mat@schaffer.me>
Thu, 1 Feb 2018 13:53:16 +0000 (22:53 +0900)
Since it was failing `make test` on travis. Must be a better way to go about this, but I couldn't come up with a better way that defaulting the value to avoid the error when running non-acceptance tests.

statuscake/provider_test.go
statuscake/resource_statuscaketest_test.go

index 81d5888154dd25b88a7aed8d5bb839e6bce056e1..83045d06fb30b0236902095ceec2417d560a3d2d 100644 (file)
@@ -1,9 +1,7 @@
 package statuscake
 
 import (
-       "fmt"
        "os"
-       "strconv"
        "testing"
 
        "github.com/hashicorp/terraform/helper/schema"
@@ -12,25 +10,12 @@ import (
 
 var testAccProviders map[string]terraform.ResourceProvider
 var testAccProvider *schema.Provider
-var testContactGroupId int
 
 func init() {
        testAccProvider = Provider().(*schema.Provider)
        testAccProviders = map[string]terraform.ResourceProvider{
                "statuscake": testAccProvider,
        }
-
-       if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v == "" {
-               fmt.Println("STATUSCAKE_TEST_CONTACT_GROUP_ID must be set for acceptance tests")
-               os.Exit(1)
-       } else {
-               id, err := strconv.Atoi(v)
-               if err != nil {
-                       fmt.Println("STATUSCAKE_TEST_CONTACT_GROUP_ID must be a valid int")
-                       os.Exit(1)
-               }
-               testContactGroupId = id
-       }
 }
 
 func TestProvider(t *testing.T) {
index da3a349159d3ced4a86ce89534b09ad66099bf40..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),
                                ),
@@ -212,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"