aboutsummaryrefslogtreecommitdiffhomepage
path: root/statuscake
diff options
context:
space:
mode:
Diffstat (limited to 'statuscake')
-rw-r--r--statuscake/resource_statuscaketest.go23
-rw-r--r--statuscake/resource_statuscaketest_test.go25
2 files changed, 27 insertions, 21 deletions
diff --git a/statuscake/resource_statuscaketest.go b/statuscake/resource_statuscaketest.go
index d7d3f36..b0dc84f 100644
--- a/statuscake/resource_statuscaketest.go
+++ b/statuscake/resource_statuscaketest.go
@@ -51,9 +51,11 @@ func resourceStatusCakeTest() *schema.Resource {
51 Required: true, 51 Required: true,
52 }, 52 },
53 53
54 "contact_id": { 54 "contact_group": {
55 Type: schema.TypeInt, 55 Type: schema.TypeSet,
56 Elem: &schema.Schema{Type: schema.TypeString},
56 Optional: true, 57 Optional: true,
58 Set: schema.HashString,
57 }, 59 },
58 60
59 "check_rate": { 61 "check_rate": {
@@ -94,6 +96,7 @@ func resourceStatusCakeTest() *schema.Resource {
94 Optional: true, 96 Optional: true,
95 Default: 5, 97 Default: 5,
96 }, 98 },
99
97 "custom_header": { 100 "custom_header": {
98 Type: schema.TypeString, 101 Type: schema.TypeString,
99 Optional: true, 102 Optional: true,
@@ -178,8 +181,10 @@ func resourceStatusCakeTest() *schema.Resource {
178 }, 181 },
179 182
180 "test_tags": { 183 "test_tags": {
181 Type: schema.TypeString, 184 Type: schema.TypeSet,
185 Elem: &schema.Schema{Type: schema.TypeString},
182 Optional: true, 186 Optional: true,
187 Set: schema.HashString,
183 }, 188 },
184 189
185 "status_codes": { 190 "status_codes": {
@@ -220,7 +225,7 @@ func CreateTest(d *schema.ResourceData, meta interface{}) error {
220 TestType: d.Get("test_type").(string), 225 TestType: d.Get("test_type").(string),
221 Paused: d.Get("paused").(bool), 226 Paused: d.Get("paused").(bool),
222 Timeout: d.Get("timeout").(int), 227 Timeout: d.Get("timeout").(int),
223 ContactID: d.Get("contact_id").(int), 228 ContactGroup: castSetToSliceStrings(d.Get("contact_group").(*schema.Set).List()),
224 Confirmation: d.Get("confirmations").(int), 229 Confirmation: d.Get("confirmations").(int),
225 Port: d.Get("port").(int), 230 Port: d.Get("port").(int),
226 TriggerRate: d.Get("trigger_rate").(int), 231 TriggerRate: d.Get("trigger_rate").(int),
@@ -240,7 +245,7 @@ func CreateTest(d *schema.ResourceData, meta interface{}) error {
240 FindString: d.Get("find_string").(string), 245 FindString: d.Get("find_string").(string),
241 DoNotFind: d.Get("do_not_find").(bool), 246 DoNotFind: d.Get("do_not_find").(bool),
242 RealBrowser: d.Get("real_browser").(int), 247 RealBrowser: d.Get("real_browser").(int),
243 TestTags: d.Get("test_tags").(string), 248 TestTags: castSetToSliceStrings(d.Get("test_tags").(*schema.Set).List()),
244 StatusCodes: d.Get("status_codes").(string), 249 StatusCodes: d.Get("status_codes").(string),
245 UseJar: d.Get("use_jar").(int), 250 UseJar: d.Get("use_jar").(int),
246 PostRaw: d.Get("post_raw").(string), 251 PostRaw: d.Get("post_raw").(string),
@@ -309,7 +314,7 @@ func ReadTest(d *schema.ResourceData, meta interface{}) error {
309 d.Set("test_type", testResp.TestType) 314 d.Set("test_type", testResp.TestType)
310 d.Set("paused", testResp.Paused) 315 d.Set("paused", testResp.Paused)
311 d.Set("timeout", testResp.Timeout) 316 d.Set("timeout", testResp.Timeout)
312 d.Set("contact_id", testResp.ContactID) 317 d.Set("contact_group", testResp.ContactGroup)
313 d.Set("confirmations", testResp.Confirmation) 318 d.Set("confirmations", testResp.Confirmation)
314 d.Set("port", testResp.Port) 319 d.Set("port", testResp.Port)
315 d.Set("trigger_rate", testResp.TriggerRate) 320 d.Set("trigger_rate", testResp.TriggerRate)
@@ -353,8 +358,8 @@ func getStatusCakeTestInput(d *schema.ResourceData) *statuscake.Test {
353 if v, ok := d.GetOk("check_rate"); ok { 358 if v, ok := d.GetOk("check_rate"); ok {
354 test.CheckRate = v.(int) 359 test.CheckRate = v.(int)
355 } 360 }
356 if v, ok := d.GetOk("contact_id"); ok { 361 if v, ok := d.GetOk("contact_group"); ok {
357 test.ContactID = v.(int) 362 test.ContactGroup = castSetToSliceStrings(v.(*schema.Set).List())
358 } 363 }
359 if v, ok := d.GetOk("test_type"); ok { 364 if v, ok := d.GetOk("test_type"); ok {
360 test.TestType = v.(string) 365 test.TestType = v.(string)
@@ -417,7 +422,7 @@ func getStatusCakeTestInput(d *schema.ResourceData) *statuscake.Test {
417 test.RealBrowser = v.(int) 422 test.RealBrowser = v.(int)
418 } 423 }
419 if v, ok := d.GetOk("test_tags"); ok { 424 if v, ok := d.GetOk("test_tags"); ok {
420 test.TestTags = v.(string) 425 test.TestTags = castSetToSliceStrings(v.(*schema.Set).List())
421 } 426 }
422 if v, ok := d.GetOk("status_codes"); ok { 427 if v, ok := d.GetOk("status_codes"); ok {
423 test.StatusCodes = v.(string) 428 test.StatusCodes = v.(string)
diff --git a/statuscake/resource_statuscaketest_test.go b/statuscake/resource_statuscaketest_test.go
index 8bcbb36..0ea1e2b 100644
--- a/statuscake/resource_statuscaketest_test.go
+++ b/statuscake/resource_statuscaketest_test.go
@@ -72,7 +72,6 @@ func TestAccStatusCake_withUpdate(t *testing.T) {
72 resource.TestCheckResourceAttr("statuscake_test.google", "check_rate", "500"), 72 resource.TestCheckResourceAttr("statuscake_test.google", "check_rate", "500"),
73 resource.TestCheckResourceAttr("statuscake_test.google", "paused", "true"), 73 resource.TestCheckResourceAttr("statuscake_test.google", "paused", "true"),
74 resource.TestCheckResourceAttr("statuscake_test.google", "timeout", "40"), 74 resource.TestCheckResourceAttr("statuscake_test.google", "timeout", "40"),
75 resource.TestCheckResourceAttr("statuscake_test.google", "contact_id", "0"),
76 resource.TestCheckResourceAttr("statuscake_test.google", "confirmations", "0"), 75 resource.TestCheckResourceAttr("statuscake_test.google", "confirmations", "0"),
77 resource.TestCheckResourceAttr("statuscake_test.google", "trigger_rate", "20"), 76 resource.TestCheckResourceAttr("statuscake_test.google", "trigger_rate", "20"),
78 resource.TestCheckResourceAttr("statuscake_test.google", "custom_header", "{ \"Content-Type\": \"application/x-www-form-urlencoded\" }"), 77 resource.TestCheckResourceAttr("statuscake_test.google", "custom_header", "{ \"Content-Type\": \"application/x-www-form-urlencoded\" }"),
@@ -91,7 +90,7 @@ func TestAccStatusCake_withUpdate(t *testing.T) {
91 resource.TestCheckResourceAttr("statuscake_test.google", "find_string", "string15212"), 90 resource.TestCheckResourceAttr("statuscake_test.google", "find_string", "string15212"),
92 resource.TestCheckResourceAttr("statuscake_test.google", "do_not_find", "false"), 91 resource.TestCheckResourceAttr("statuscake_test.google", "do_not_find", "false"),
93 resource.TestCheckResourceAttr("statuscake_test.google", "real_browser", "1"), 92 resource.TestCheckResourceAttr("statuscake_test.google", "real_browser", "1"),
94 resource.TestCheckResourceAttr("statuscake_test.google", "test_tags", "string8191"), 93 resource.TestCheckResourceAttr("statuscake_test.google", "test_tags.#", "1"),
95 resource.TestCheckResourceAttr("statuscake_test.google", "status_codes", "string23065"), 94 resource.TestCheckResourceAttr("statuscake_test.google", "status_codes", "string23065"),
96 resource.TestCheckResourceAttr("statuscake_test.google", "use_jar", "1"), 95 resource.TestCheckResourceAttr("statuscake_test.google", "use_jar", "1"),
97 resource.TestCheckResourceAttr("statuscake_test.google", "post_raw", "string32096"), 96 resource.TestCheckResourceAttr("statuscake_test.google", "post_raw", "string32096"),
@@ -159,8 +158,13 @@ func testAccTestCheckAttributes(rn string, test *statuscake.Test) resource.TestC
159 err = check(key, value, strconv.FormatBool(test.Paused)) 158 err = check(key, value, strconv.FormatBool(test.Paused))
160 case "timeout": 159 case "timeout":
161 err = check(key, value, strconv.Itoa(test.Timeout)) 160 err = check(key, value, strconv.Itoa(test.Timeout))
162 case "contact_id": 161 case "contact_group":
163 err = check(key, value, strconv.Itoa(test.ContactID)) 162 for _, tv := range test.ContactGroup {
163 err = check(key, value, tv)
164 if err != nil {
165 return err
166 }
167 }
164 case "confirmations": 168 case "confirmations":
165 err = check(key, value, strconv.Itoa(test.Confirmation)) 169 err = check(key, value, strconv.Itoa(test.Confirmation))
166 case "trigger_rate": 170 case "trigger_rate":
@@ -214,13 +218,10 @@ func testAccTestCheckDestroy(test *statuscake.Test) resource.TestCheckFunc {
214} 218}
215 219
216func interpolateTerraformTemplate(template string) string { 220func interpolateTerraformTemplate(template string) string {
217 testContactGroupId := 43402 221 testContactGroupId := "43402"
218 222
219 if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v != "" { 223 if v := os.Getenv("STATUSCAKE_TEST_CONTACT_GROUP_ID"); v != "" {
220 id, err := strconv.Atoi(v) 224 testContactGroupId = v
221 if err == nil {
222 testContactGroupId = id
223 }
224 } 225 }
225 226
226 return fmt.Sprintf(template, testContactGroupId) 227 return fmt.Sprintf(template, testContactGroupId)
@@ -233,7 +234,7 @@ resource "statuscake_test" "google" {
233 test_type = "HTTP" 234 test_type = "HTTP"
234 check_rate = 300 235 check_rate = 300
235 timeout = 10 236 timeout = 10
236 contact_id = %d 237 contact_group = ["%s"]
237 confirmations = 1 238 confirmations = 1
238 trigger_rate = 10 239 trigger_rate = 10
239} 240}
@@ -261,7 +262,7 @@ resource "statuscake_test" "google" {
261 find_string = "string15212" 262 find_string = "string15212"
262 do_not_find = false 263 do_not_find = false
263 real_browser = 1 264 real_browser = 1
264 test_tags = "string8191" 265 test_tags = ["string8191"]
265 status_codes = "string23065" 266 status_codes = "string23065"
266 use_jar = 1 267 use_jar = 1
267 post_raw = "string32096" 268 post_raw = "string32096"
@@ -277,7 +278,7 @@ resource "statuscake_test" "google" {
277 test_type = "TCP" 278 test_type = "TCP"
278 check_rate = 300 279 check_rate = 300
279 timeout = 10 280 timeout = 10
280 contact_id = %d 281 contact_group = ["%s"]
281 confirmations = 1 282 confirmations = 1
282 port = 80 283 port = 80
283} 284}