diff options
author | Andrew N Golovkov <andrew@callstats.io> | 2018-02-05 10:17:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-05 10:17:59 +0200 |
commit | fa9f5996cdc877adb77e0e63fe3c0cda9999a227 (patch) | |
tree | f6c684360c490eb61e09b5f69fedc69a29fe38d1 | |
parent | 85e124eb0c7b262ff9c486abe9662f515f47fc5b (diff) | |
parent | 7d96831373ec571cf0d7bcd930fd6118dc509fc2 (diff) | |
download | terraform-provider-statuscake-fa9f5996cdc877adb77e0e63fe3c0cda9999a227.tar.gz terraform-provider-statuscake-fa9f5996cdc877adb77e0e63fe3c0cda9999a227.tar.zst terraform-provider-statuscake-fa9f5996cdc877adb77e0e63fe3c0cda9999a227.zip |
Merge pull request #2 from matschaffer/callstats-io-fixes-2
Move template interpolation deeper into acceptance tests
-rw-r--r-- | statuscake/provider_test.go | 15 | ||||
-rw-r--r-- | statuscake/resource_statuscaketest_test.go | 20 |
2 files changed, 17 insertions, 18 deletions
diff --git a/statuscake/provider_test.go b/statuscake/provider_test.go index 81d5888..83045d0 100644 --- a/statuscake/provider_test.go +++ b/statuscake/provider_test.go | |||
@@ -1,9 +1,7 @@ | |||
1 | package statuscake | 1 | package statuscake |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | ||
5 | "os" | 4 | "os" |
6 | "strconv" | ||
7 | "testing" | 5 | "testing" |
8 | 6 | ||
9 | "github.com/hashicorp/terraform/helper/schema" | 7 | "github.com/hashicorp/terraform/helper/schema" |
@@ -12,25 +10,12 @@ import ( | |||
12 | 10 | ||
13 | var testAccProviders map[string]terraform.ResourceProvider | 11 | var testAccProviders map[string]terraform.ResourceProvider |
14 | var testAccProvider *schema.Provider | 12 | var testAccProvider *schema.Provider |
15 | var testContactGroupId int | ||
16 | 13 | ||
17 | func init() { | 14 | func init() { |
18 | testAccProvider = Provider().(*schema.Provider) | 15 | testAccProvider = Provider().(*schema.Provider) |
19 | testAccProviders = map[string]terraform.ResourceProvider{ | 16 | testAccProviders = map[string]terraform.ResourceProvider{ |
20 | "statuscake": testAccProvider, | 17 | "statuscake": testAccProvider, |
21 | } | 18 | } |
22 | |||
23 | if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v == "" { | ||
24 | fmt.Println("STATUSCAKE_TEST_CONTACT_GROUP_ID must be set for acceptance tests") | ||
25 | os.Exit(1) | ||
26 | } else { | ||
27 | id, err := strconv.Atoi(v) | ||
28 | if err != nil { | ||
29 | fmt.Println("STATUSCAKE_TEST_CONTACT_GROUP_ID must be a valid int") | ||
30 | os.Exit(1) | ||
31 | } | ||
32 | testContactGroupId = id | ||
33 | } | ||
34 | } | 19 | } |
35 | 20 | ||
36 | func TestProvider(t *testing.T) { | 21 | func TestProvider(t *testing.T) { |
diff --git a/statuscake/resource_statuscaketest_test.go b/statuscake/resource_statuscaketest_test.go index da3a349..8bcbb36 100644 --- a/statuscake/resource_statuscaketest_test.go +++ b/statuscake/resource_statuscaketest_test.go | |||
@@ -2,6 +2,7 @@ package statuscake | |||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "os" | ||
5 | "strconv" | 6 | "strconv" |
6 | "testing" | 7 | "testing" |
7 | 8 | ||
@@ -19,7 +20,7 @@ func TestAccStatusCake_basic(t *testing.T) { | |||
19 | CheckDestroy: testAccTestCheckDestroy(&test), | 20 | CheckDestroy: testAccTestCheckDestroy(&test), |
20 | Steps: []resource.TestStep{ | 21 | Steps: []resource.TestStep{ |
21 | { | 22 | { |
22 | Config: fmt.Sprintf(testAccTestConfig_basic, testContactGroupId), | 23 | Config: interpolateTerraformTemplate(testAccTestConfig_basic), |
23 | Check: resource.ComposeTestCheckFunc( | 24 | Check: resource.ComposeTestCheckFunc( |
24 | testAccTestCheckExists("statuscake_test.google", &test), | 25 | testAccTestCheckExists("statuscake_test.google", &test), |
25 | testAccTestCheckAttributes("statuscake_test.google", &test), | 26 | testAccTestCheckAttributes("statuscake_test.google", &test), |
@@ -38,7 +39,7 @@ func TestAccStatusCake_tcp(t *testing.T) { | |||
38 | CheckDestroy: testAccTestCheckDestroy(&test), | 39 | CheckDestroy: testAccTestCheckDestroy(&test), |
39 | Steps: []resource.TestStep{ | 40 | Steps: []resource.TestStep{ |
40 | { | 41 | { |
41 | Config: fmt.Sprintf(testAccTestConfig_tcp, testContactGroupId), | 42 | Config: interpolateTerraformTemplate(testAccTestConfig_tcp), |
42 | Check: resource.ComposeTestCheckFunc( | 43 | Check: resource.ComposeTestCheckFunc( |
43 | testAccTestCheckExists("statuscake_test.google", &test), | 44 | testAccTestCheckExists("statuscake_test.google", &test), |
44 | testAccTestCheckAttributes("statuscake_test.google", &test), | 45 | testAccTestCheckAttributes("statuscake_test.google", &test), |
@@ -57,7 +58,7 @@ func TestAccStatusCake_withUpdate(t *testing.T) { | |||
57 | CheckDestroy: testAccTestCheckDestroy(&test), | 58 | CheckDestroy: testAccTestCheckDestroy(&test), |
58 | Steps: []resource.TestStep{ | 59 | Steps: []resource.TestStep{ |
59 | { | 60 | { |
60 | Config: fmt.Sprintf(testAccTestConfig_basic, testContactGroupId), | 61 | Config: interpolateTerraformTemplate(testAccTestConfig_basic), |
61 | Check: resource.ComposeTestCheckFunc( | 62 | Check: resource.ComposeTestCheckFunc( |
62 | testAccTestCheckExists("statuscake_test.google", &test), | 63 | testAccTestCheckExists("statuscake_test.google", &test), |
63 | ), | 64 | ), |
@@ -212,6 +213,19 @@ func testAccTestCheckDestroy(test *statuscake.Test) resource.TestCheckFunc { | |||
212 | } | 213 | } |
213 | } | 214 | } |
214 | 215 | ||
216 | func interpolateTerraformTemplate(template string) string { | ||
217 | testContactGroupId := 43402 | ||
218 | |||
219 | if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v != "" { | ||
220 | id, err := strconv.Atoi(v) | ||
221 | if err == nil { | ||
222 | testContactGroupId = id | ||
223 | } | ||
224 | } | ||
225 | |||
226 | return fmt.Sprintf(template, testContactGroupId) | ||
227 | } | ||
228 | |||
215 | const testAccTestConfig_basic = ` | 229 | const testAccTestConfig_basic = ` |
216 | resource "statuscake_test" "google" { | 230 | resource "statuscake_test" "google" { |
217 | website_name = "google.com" | 231 | website_name = "google.com" |