diff options
Diffstat (limited to 'statuscake')
-rw-r--r-- | statuscake/resource_statuscaketest.go | 23 | ||||
-rw-r--r-- | statuscake/resource_statuscaketest_test.go | 25 |
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 | ||
216 | func interpolateTerraformTemplate(template string) string { | 220 | func 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 | } |