package statuscake
import (
- "fmt"
"os"
- "strconv"
"testing"
"github.com/hashicorp/terraform/helper/schema"
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) {
import (
"fmt"
+ "os"
"strconv"
"testing"
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),
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),
CheckDestroy: testAccTestCheckDestroy(&test),
Steps: []resource.TestStep{
{
- Config: fmt.Sprintf(testAccTestConfig_basic, testContactGroupId),
+ Config: interpolateTerraformTemplate(testAccTestConfig_basic),
Check: resource.ComposeTestCheckFunc(
testAccTestCheckExists("statuscake_test.google", &test),
),
}
}
+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"