aboutsummaryrefslogtreecommitdiffhomepage
path: root/resource_statuscaketest_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'resource_statuscaketest_test.go')
-rw-r--r--resource_statuscaketest_test.go82
1 files changed, 61 insertions, 21 deletions
diff --git a/resource_statuscaketest_test.go b/resource_statuscaketest_test.go
index 8bbd4b5..f5b47e4 100644
--- a/resource_statuscaketest_test.go
+++ b/resource_statuscaketest_test.go
@@ -2,6 +2,7 @@ package statuscake
2 2
3import ( 3import (
4 "fmt" 4 "fmt"
5 "strconv"
5 "testing" 6 "testing"
6 7
7 "github.com/DreamItGetIT/statuscake" 8 "github.com/DreamItGetIT/statuscake"
@@ -27,7 +28,34 @@ func TestAccStatusCake_basic(t *testing.T) {
27 }) 28 })
28} 29}
29 30
30func testAccTestCheckExists(rn string, project *statuscake.Test) resource.TestCheckFunc { 31func TestAccStatusCake_withUpdate(t *testing.T) {
32 var test statuscake.Test
33
34 resource.Test(t, resource.TestCase{
35 PreCheck: func() { testAccPreCheck(t) },
36 Providers: testAccProviders,
37 CheckDestroy: testAccTestCheckDestroy(&test),
38 Steps: []resource.TestStep{
39 resource.TestStep{
40 Config: testAccTestConfig_basic,
41 Check: resource.ComposeTestCheckFunc(
42 testAccTestCheckExists("statuscake_test.google", &test),
43 ),
44 },
45
46 resource.TestStep{
47 Config: testAccTestConfig_update,
48 Check: resource.ComposeTestCheckFunc(
49 testAccTestCheckExists("statuscake_test.google", &test),
50 resource.TestCheckResourceAttr("statuscake_test.google", "check_rate", "500"),
51 resource.TestCheckResourceAttr("statuscake_test.google", "paused", "true"),
52 ),
53 },
54 },
55 })
56}
57
58func testAccTestCheckExists(rn string, test *statuscake.Test) resource.TestCheckFunc {
31 return func(s *terraform.State) error { 59 return func(s *terraform.State) error {
32 rs, ok := s.RootModule().Resources[rn] 60 rs, ok := s.RootModule().Resources[rn]
33 if !ok { 61 if !ok {
@@ -38,31 +66,33 @@ func testAccTestCheckExists(rn string, project *statuscake.Test) resource.TestCh
38 return fmt.Errorf("TestID not set") 66 return fmt.Errorf("TestID not set")
39 } 67 }
40 68
41 // client := testAccProvider.Meta().(*statuscake.Client) 69 client := testAccProvider.Meta().(*statuscake.Client)
42 // gotProject, err := client.GetProject(rs.Primary.ID) 70 testId, parseErr := strconv.Atoi(rs.Primary.ID)
43 // if err != nil { 71 if parseErr != nil {
44 // return fmt.Errorf("error getting project: %s", err) 72 return fmt.Errorf("error in statuscake test CheckExists: %s", parseErr)
45 // } 73 }
46 // 74
47 // *project = *gotProject 75 gotTest, err := client.Tests().Detail(testId)
76 if err != nil {
77 return fmt.Errorf("error getting project: %s", err)
78 }
79
80 *test = *gotTest
48 81
49 return nil 82 return nil
50 } 83 }
51} 84}
52 85
53func testAccTestCheckDestroy(project *statuscake.Test) resource.TestCheckFunc { 86func testAccTestCheckDestroy(test *statuscake.Test) resource.TestCheckFunc {
54 // return func(s *terraform.State) error { 87 return func(s *terraform.State) error {
55 // client := testAccProvider.Meta().(*statuscake.Client) 88 client := testAccProvider.Meta().(*statuscake.Client)
56 // // _, err := client.Tests().All() 89 err := client.Tests().Delete(test.TestID)
57 // // if err == nil { 90 if err == nil {
58 // // return fmt.Errorf("test still exists") 91 return fmt.Errorf("test still exists")
59 // // } 92 }
60 // // if _, ok := err.(*statuscake.NotFoundError); !ok { 93
61 // // return fmt.Errorf("got something other than NotFoundError (%v) when getting test", err) 94 return nil
62 // // } 95 }
63 //
64 // return nil
65 // }
66 return nil 96 return nil
67} 97}
68 98
@@ -74,3 +104,13 @@ resource "statuscake_test" "google" {
74 check_rate = 300 104 check_rate = 300
75} 105}
76` 106`
107
108const testAccTestConfig_update = `
109resource "statuscake_test" "google" {
110 website_name = "google.com"
111 website_url = "www.google.com"
112 test_type = "HTTP"
113 check_rate = 500
114 paused = true
115}
116`