@@ -31,11 +31,22 @@ const (
31
31
mockKamateraSecret = "mock-secret"
32
32
)
33
33
34
+ func NewMockKamateraApiClientRest (url string , maxRetries int , expSecondsBetweenRetries int ) (client KamateraApiClientRest ) {
35
+ return KamateraApiClientRest {
36
+ userAgent : userAgent ,
37
+ clientId : mockKamateraClientId ,
38
+ secret : mockKamateraSecret ,
39
+ url : url ,
40
+ maxRetries : maxRetries ,
41
+ expSecondsBetweenRetries : expSecondsBetweenRetries ,
42
+ }
43
+ }
44
+
34
45
func TestApiClientRest_ListServers_NoServers (t * testing.T ) {
35
46
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
36
47
defer server .Close ()
37
48
ctx := context .Background ()
38
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
49
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
39
50
server .On ("handle" , "/service/servers" ).Return (
40
51
"application/json" ,
41
52
`[]` ,
@@ -50,7 +61,7 @@ func TestApiClientRest_ListServers(t *testing.T) {
50
61
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
51
62
defer server .Close ()
52
63
ctx := context .Background ()
53
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
64
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
54
65
newServerName1 := mockKamateraServerName ()
55
66
cachedServerName2 := mockKamateraServerName ()
56
67
cachedServerName3 := mockKamateraServerName ()
@@ -118,7 +129,7 @@ func TestApiClientRest_ListServersNamePrefix(t *testing.T) {
118
129
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
119
130
defer server .Close ()
120
131
ctx := context .Background ()
121
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
132
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
122
133
newServerName1 := "prefixa" + mockKamateraServerName ()
123
134
newServerName2 := "prefixb" + mockKamateraServerName ()
124
135
server .On ("handle" , "/service/servers" ).Return (
@@ -148,7 +159,7 @@ func TestApiClientRest_ListServersNoTags(t *testing.T) {
148
159
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
149
160
defer server .Close ()
150
161
ctx := context .Background ()
151
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
162
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
152
163
newServerName1 := mockKamateraServerName ()
153
164
server .On ("handle" , "/service/servers" ).Return (
154
165
"application/json" , fmt .Sprintf (`[{"name": "%s", "power": "on"}]` , newServerName1 ),
@@ -172,7 +183,7 @@ func TestApiClientRest_ListServersTagsError(t *testing.T) {
172
183
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse , MockFieldStatusCode )
173
184
defer server .Close ()
174
185
ctx := context .Background ()
175
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
186
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
176
187
newServerName1 := mockKamateraServerName ()
177
188
server .On ("handle" , "/service/servers" ).Return (
178
189
"application/json" , fmt .Sprintf (`[{"name": "%s", "power": "on"}]` , newServerName1 ), 200 ,
@@ -188,7 +199,7 @@ func TestApiClientRest_DeleteServer(t *testing.T) {
188
199
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
189
200
defer server .Close ()
190
201
ctx := context .Background ()
191
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
202
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
192
203
serverName := mockKamateraServerName ()
193
204
commandId := "mock-command-id"
194
205
server .On ("handle" , "/service/server/poweroff" ).Return (
@@ -206,11 +217,31 @@ func TestApiClientRest_DeleteServer(t *testing.T) {
206
217
mock .AssertExpectationsForObjects (t , server )
207
218
}
208
219
220
+ func TestApiClientRest_DeleteServer_TerminateError (t * testing.T ) {
221
+ server := NewHttpServerMock (MockFieldContentType , MockFieldResponse , MockFieldStatusCode )
222
+ defer server .Close ()
223
+ ctx := context .Background ()
224
+ client := NewMockKamateraApiClientRest (server .URL , 5 , 0 )
225
+ serverName := mockKamateraServerName ()
226
+ commandId := "mock-command-id"
227
+ server .On ("handle" , "/service/server/poweroff" ).Return (
228
+ "application/json" , fmt .Sprintf (`["%s"]` , commandId ), 200 ,
229
+ ).Once ().On ("handle" , "/service/queue" ).Return (
230
+ "application/json" , `[{"status": "complete"}]` , 200 ,
231
+ ).Once ().On ("handle" , "/service/server/terminate" ).Return (
232
+ "application/json" ,
233
+ "Gateway Timeout" ,
234
+ 504 ,
235
+ ).Times (5 )
236
+ err := client .DeleteServer (ctx , serverName )
237
+ assert .Error (t , err )
238
+ }
239
+
209
240
func TestApiClientRest_CreateServers (t * testing.T ) {
210
241
server := NewHttpServerMock (MockFieldContentType , MockFieldResponse )
211
242
defer server .Close ()
212
243
ctx := context .Background ()
213
- client := NewKamateraApiClientRest ( mockKamateraClientId , mockKamateraSecret , server . URL )
244
+ client := NewMockKamateraApiClientRest ( server . URL , 5 , 0 )
214
245
commandId := "command"
215
246
server .On ("handle" , "/service/server" ).Return (
216
247
"application/json" ,
0 commit comments