github.com/fastly/go-fastly@v1.18.0/fastly/scalyr_test.go (about) 1 package fastly 2 3 import ( 4 "testing" 5 ) 6 7 func TestClient_Scalyrs(t *testing.T) { 8 t.Parallel() 9 10 var err error 11 var tv *Version 12 record(t, "scalyrs/version", func(c *Client) { 13 tv = testVersion(t, c) 14 }) 15 16 // Create 17 var s *Scalyr 18 record(t, "scalyrs/create", func(c *Client) { 19 s, err = c.CreateScalyr(&CreateScalyrInput{ 20 Service: testServiceID, 21 Version: tv.Number, 22 Name: String("test-scalyr"), 23 Format: String("%h %l %u %t \"%r\" %>s %b"), 24 FormatVersion: Uint(2), 25 Placement: String("waf_debug"), 26 Region: String("US"), 27 Token: String("super-secure-token"), 28 }) 29 }) 30 if err != nil { 31 t.Fatal(err) 32 } 33 34 // Ensure deleted 35 defer func() { 36 record(t, "scalyrs/cleanup", func(c *Client) { 37 c.DeleteScalyr(&DeleteScalyrInput{ 38 Service: testServiceID, 39 Version: tv.Number, 40 Name: "test-scalyr", 41 }) 42 43 c.DeleteScalyr(&DeleteScalyrInput{ 44 Service: testServiceID, 45 Version: tv.Number, 46 Name: "new-test-scalyr", 47 }) 48 }) 49 }() 50 51 if s.Name != "test-scalyr" { 52 t.Errorf("bad name: %q", s.Name) 53 } 54 if s.Format != "%h %l %u %t \"%r\" %>s %b" { 55 t.Errorf("bad format: %q", s.Format) 56 } 57 if s.FormatVersion != 2 { 58 t.Errorf("bad format_version: %q", s.FormatVersion) 59 } 60 if s.Placement != "waf_debug" { 61 t.Errorf("bad placement: %q", s.Placement) 62 } 63 if s.Region != "US" { 64 t.Errorf("bad region: %q", s.Region) 65 } 66 if s.Token != "super-secure-token" { 67 t.Errorf("bad token: %q", s.Token) 68 } 69 70 // List 71 var ss []*Scalyr 72 record(t, "scalyrs/list", func(c *Client) { 73 ss, err = c.ListScalyrs(&ListScalyrsInput{ 74 Service: testServiceID, 75 Version: tv.Number, 76 }) 77 }) 78 if err != nil { 79 t.Fatal(err) 80 } 81 if len(ss) < 1 { 82 t.Errorf("bad scalyrs: %v", ss) 83 } 84 85 // Get 86 var ns *Scalyr 87 record(t, "scalyrs/get", func(c *Client) { 88 ns, err = c.GetScalyr(&GetScalyrInput{ 89 Service: testServiceID, 90 Version: tv.Number, 91 Name: "test-scalyr", 92 }) 93 }) 94 if err != nil { 95 t.Fatal(err) 96 } 97 if s.Name != ns.Name { 98 t.Errorf("bad name: %q", s.Name) 99 } 100 if s.Format != ns.Format { 101 t.Errorf("bad format: %q", s.Format) 102 } 103 if s.FormatVersion != ns.FormatVersion { 104 t.Errorf("bad format_version: %q", s.FormatVersion) 105 } 106 if s.Placement != ns.Placement { 107 t.Errorf("bad placement: %q", s.Placement) 108 } 109 if s.Region != "US" { 110 t.Errorf("bad region: %q", s.Region) 111 } 112 if s.Token != ns.Token { 113 t.Errorf("bad token: %q", s.Token) 114 } 115 116 // Update 117 var us *Scalyr 118 record(t, "scalyrs/update", func(c *Client) { 119 us, err = c.UpdateScalyr(&UpdateScalyrInput{ 120 Service: testServiceID, 121 Version: tv.Number, 122 Name: "test-scalyr", 123 NewName: String("new-test-scalyr"), 124 Region: String("EU"), 125 Token: String("new-token"), 126 }) 127 }) 128 if err != nil { 129 t.Fatal(err) 130 } 131 if us.Name != "new-test-scalyr" { 132 t.Errorf("bad name: %q", us.Name) 133 } 134 if us.Region != "EU" { 135 t.Errorf("bad region: %q", us.Region) 136 } 137 if us.Token != "new-token" { 138 t.Errorf("bad token: %q", us.Token) 139 } 140 141 // Delete 142 record(t, "scalyrs/delete", func(c *Client) { 143 err = c.DeleteScalyr(&DeleteScalyrInput{ 144 Service: testServiceID, 145 Version: tv.Number, 146 Name: "new-test-scalyr", 147 }) 148 }) 149 if err != nil { 150 t.Fatal(err) 151 } 152 } 153 154 func TestClient_ListScalyrs_validation(t *testing.T) { 155 var err error 156 _, err = testClient.ListScalyrs(&ListScalyrsInput{ 157 Service: "", 158 }) 159 if err != ErrMissingService { 160 t.Errorf("bad error: %s", err) 161 } 162 163 _, err = testClient.ListScalyrs(&ListScalyrsInput{ 164 Service: "foo", 165 Version: 0, 166 }) 167 if err != ErrMissingVersion { 168 t.Errorf("bad error: %s", err) 169 } 170 } 171 172 func TestClient_CreateScalyr_validation(t *testing.T) { 173 var err error 174 _, err = testClient.CreateScalyr(&CreateScalyrInput{ 175 Service: "", 176 }) 177 if err != ErrMissingService { 178 t.Errorf("bad error: %s", err) 179 } 180 181 _, err = testClient.CreateScalyr(&CreateScalyrInput{ 182 Service: "foo", 183 Version: 0, 184 }) 185 if err != ErrMissingVersion { 186 t.Errorf("bad error: %s", err) 187 } 188 } 189 190 func TestClient_GetScalyr_validation(t *testing.T) { 191 var err error 192 _, err = testClient.GetScalyr(&GetScalyrInput{ 193 Service: "", 194 }) 195 if err != ErrMissingService { 196 t.Errorf("bad error: %s", err) 197 } 198 199 _, err = testClient.GetScalyr(&GetScalyrInput{ 200 Service: "foo", 201 Version: 0, 202 }) 203 if err != ErrMissingVersion { 204 t.Errorf("bad error: %s", err) 205 } 206 207 _, err = testClient.GetScalyr(&GetScalyrInput{ 208 Service: "foo", 209 Version: 1, 210 Name: "", 211 }) 212 if err != ErrMissingName { 213 t.Errorf("bad error: %s", err) 214 } 215 } 216 217 func TestClient_UpdateScalyr_validation(t *testing.T) { 218 var err error 219 _, err = testClient.UpdateScalyr(&UpdateScalyrInput{ 220 Service: "", 221 }) 222 if err != ErrMissingService { 223 t.Errorf("bad error: %s", err) 224 } 225 226 _, err = testClient.UpdateScalyr(&UpdateScalyrInput{ 227 Service: "foo", 228 Version: 0, 229 }) 230 if err != ErrMissingVersion { 231 t.Errorf("bad error: %s", err) 232 } 233 234 _, err = testClient.UpdateScalyr(&UpdateScalyrInput{ 235 Service: "foo", 236 Version: 1, 237 Name: "", 238 }) 239 if err != ErrMissingName { 240 t.Errorf("bad error: %s", err) 241 } 242 } 243 244 func TestClient_DeleteScalyr_validation(t *testing.T) { 245 var err error 246 err = testClient.DeleteScalyr(&DeleteScalyrInput{ 247 Service: "", 248 }) 249 if err != ErrMissingService { 250 t.Errorf("bad error: %s", err) 251 } 252 253 err = testClient.DeleteScalyr(&DeleteScalyrInput{ 254 Service: "foo", 255 Version: 0, 256 }) 257 if err != ErrMissingVersion { 258 t.Errorf("bad error: %s", err) 259 } 260 261 err = testClient.DeleteScalyr(&DeleteScalyrInput{ 262 Service: "foo", 263 Version: 1, 264 Name: "", 265 }) 266 if err != ErrMissingName { 267 t.Errorf("bad error: %s", err) 268 } 269 }