X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=statuscake%2Fresource_statuscaketest_test.go;h=8bcbb36a9cf1db5a71da66c90a5a1392a8907961;hb=7d96831373ec571cf0d7bcd930fd6118dc509fc2;hp=99acd0409281413e889e8270ca74730ab585456a;hpb=a609749989d4ea67354ac5a464ce42a7b807b869;p=github%2Ffretlink%2Fterraform-provider-statuscake.git diff --git a/statuscake/resource_statuscaketest_test.go b/statuscake/resource_statuscaketest_test.go index 99acd04..8bcbb36 100644 --- a/statuscake/resource_statuscaketest_test.go +++ b/statuscake/resource_statuscaketest_test.go @@ -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: testAccTestConfig_basic, + 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: testAccTestConfig_tcp, + 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: testAccTestConfig_basic, + Config: interpolateTerraformTemplate(testAccTestConfig_basic), Check: resource.ComposeTestCheckFunc( testAccTestCheckExists("statuscake_test.google", &test), ), @@ -76,12 +77,9 @@ func TestAccStatusCake_withUpdate(t *testing.T) { resource.TestCheckResourceAttr("statuscake_test.google", "trigger_rate", "20"), resource.TestCheckResourceAttr("statuscake_test.google", "custom_header", "{ \"Content-Type\": \"application/x-www-form-urlencoded\" }"), resource.TestCheckResourceAttr("statuscake_test.google", "user_agent", "string9988"), - resource.TestCheckResourceAttr("statuscake_test.google", "status", "string22117"), - resource.TestCheckResourceAttr("statuscake_test.google", "uptime", "3498.27"), + 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"), @@ -162,15 +160,13 @@ func testAccTestCheckAttributes(rn string, test *statuscake.Test) resource.TestC case "timeout": err = check(key, value, strconv.Itoa(test.Timeout)) case "contact_id": - err = check(key, value, test.ContactID) + err = check(key, value, strconv.Itoa(test.ContactID)) case "confirmations": err = check(key, value, strconv.Itoa(test.Confirmation)) case "trigger_rate": 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" @@ -240,7 +233,7 @@ resource "statuscake_test" "google" { test_type = "HTTP" check_rate = 300 timeout = 10 - contact_id = "43402" + contact_id = %d confirmations = 1 trigger_rate = 10 } @@ -284,7 +277,7 @@ resource "statuscake_test" "google" { test_type = "TCP" check_rate = 300 timeout = 10 - contact_id = "43402" + contact_id = %d confirmations = 1 port = 80 }