@@ -68,14 +68,27 @@ func TestServiceSetTest(t *testing.T) {
68
68
arg : & kong.Service {},
69
69
want : & serviceDefaults ,
70
70
},
71
+ {
72
+ desc : "retries can be set to 0" ,
73
+ arg : & kong.Service {
74
+ Retries : kong .Int (0 ),
75
+ },
76
+ want : & kong.Service {
77
+ Port : kong .Int (80 ),
78
+ Retries : kong .Int (0 ),
79
+ Protocol : kong .String ("http" ),
80
+ ConnectTimeout : kong .Int (60000 ),
81
+ WriteTimeout : kong .Int (60000 ),
82
+ ReadTimeout : kong .Int (60000 ),
83
+ },
84
+ },
71
85
{
72
86
desc : "timeout value value is not overridden" ,
73
87
arg : & kong.Service {
74
88
WriteTimeout : kong .Int (42 ),
75
89
},
76
90
want : & kong.Service {
77
91
Port : kong .Int (80 ),
78
- Retries : kong .Int (5 ),
79
92
Protocol : kong .String ("http" ),
80
93
ConnectTimeout : kong .Int (60000 ),
81
94
WriteTimeout : kong .Int (42 ),
@@ -89,7 +102,6 @@ func TestServiceSetTest(t *testing.T) {
89
102
},
90
103
want : & kong.Service {
91
104
Port : kong .Int (80 ),
92
- Retries : kong .Int (5 ),
93
105
Protocol : kong .String ("http" ),
94
106
Path : kong .String ("/foo" ),
95
107
ConnectTimeout : kong .Int (60000 ),
@@ -108,7 +120,6 @@ func TestServiceSetTest(t *testing.T) {
108
120
Name : kong .String ("foo" ),
109
121
Host : kong .String ("example.com" ),
110
122
Port : kong .Int (80 ),
111
- Retries : kong .Int (5 ),
112
123
Protocol : kong .String ("http" ),
113
124
Path : kong .String ("/bar" ),
114
125
ConnectTimeout : kong .Int (60000 ),
@@ -255,8 +266,117 @@ func TestUpstreamSetTest(t *testing.T) {
255
266
Interval : kong .Int (0 ),
256
267
Successes : kong .Int (0 ),
257
268
},
269
+ HTTPPath : kong .String ("/" ),
270
+ Type : kong .String ("http" ),
271
+ Timeout : kong .Int (1 ),
272
+ Unhealthy : & kong.Unhealthy {
273
+ HTTPFailures : kong .Int (0 ),
274
+ TCPFailures : kong .Int (0 ),
275
+ Timeouts : kong .Int (0 ),
276
+ HTTPStatuses : []int {429 , 404 , 500 , 501 , 502 , 503 , 504 , 505 },
277
+ Interval : kong .Int (0 ),
278
+ },
279
+ },
280
+ Passive : & kong.PassiveHealthcheck {
281
+ Healthy : & kong.Healthy {
282
+ HTTPStatuses : []int {200 , 201 , 202 , 203 , 204 , 205 ,
283
+ 206 , 207 , 208 , 226 , 300 , 301 , 302 , 303 , 304 , 305 ,
284
+ 306 , 307 , 308 },
285
+ Successes : kong .Int (0 ),
286
+ },
287
+ Unhealthy : & kong.Unhealthy {
288
+ HTTPFailures : kong .Int (0 ),
289
+ TCPFailures : kong .Int (0 ),
290
+ Timeouts : kong .Int (0 ),
291
+ HTTPStatuses : []int {429 , 500 , 503 },
292
+ },
293
+ },
294
+ },
295
+ HashOn : kong .String ("none" ),
296
+ HashFallback : kong .String ("none" ),
297
+ HashOnCookiePath : kong .String ("/" ),
298
+ },
299
+ },
300
+ {
301
+ desc : "Healthchecks.Active.Healthy.Timeout is not overridden" ,
302
+ arg : & kong.Upstream {
303
+ Name : kong .String ("foo" ),
304
+ Healthchecks : & kong.Healthcheck {
305
+ Active : & kong.ActiveHealthcheck {
306
+ Healthy : & kong.Healthy {
307
+ Interval : kong .Int (1 ),
308
+ },
309
+ },
310
+ },
311
+ },
312
+ want : & kong.Upstream {
313
+ Name : kong .String ("foo" ),
314
+ Slots : kong .Int (10000 ),
315
+ Healthchecks : & kong.Healthcheck {
316
+ Active : & kong.ActiveHealthcheck {
317
+ Concurrency : kong .Int (10 ),
318
+ Healthy : & kong.Healthy {
319
+ HTTPStatuses : []int {200 , 302 },
320
+ Interval : kong .Int (1 ),
321
+ Successes : kong .Int (0 ),
322
+ },
323
+ HTTPPath : kong .String ("/" ),
324
+ Type : kong .String ("http" ),
325
+ Timeout : kong .Int (1 ),
326
+ Unhealthy : & kong.Unhealthy {
327
+ HTTPFailures : kong .Int (0 ),
328
+ TCPFailures : kong .Int (0 ),
329
+ Timeouts : kong .Int (0 ),
330
+ HTTPStatuses : []int {429 , 404 , 500 , 501 , 502 , 503 , 504 , 505 },
331
+ Interval : kong .Int (0 ),
332
+ },
333
+ },
334
+ Passive : & kong.PassiveHealthcheck {
335
+ Healthy : & kong.Healthy {
336
+ HTTPStatuses : []int {200 , 201 , 202 , 203 , 204 , 205 ,
337
+ 206 , 207 , 208 , 226 , 300 , 301 , 302 , 303 , 304 , 305 ,
338
+ 306 , 307 , 308 },
339
+ Successes : kong .Int (0 ),
340
+ },
341
+ Unhealthy : & kong.Unhealthy {
342
+ HTTPFailures : kong .Int (0 ),
343
+ TCPFailures : kong .Int (0 ),
344
+ Timeouts : kong .Int (0 ),
345
+ HTTPStatuses : []int {429 , 500 , 503 },
346
+ },
347
+ },
348
+ },
349
+ HashOn : kong .String ("none" ),
350
+ HashFallback : kong .String ("none" ),
351
+ HashOnCookiePath : kong .String ("/" ),
352
+ },
353
+ },
354
+ {
355
+ desc : "Healthchecks.Active.HTTPSVerifyCertificate can be set to false" ,
356
+ arg : & kong.Upstream {
357
+ Name : kong .String ("foo" ),
358
+ Healthchecks : & kong.Healthcheck {
359
+ Active : & kong.ActiveHealthcheck {
360
+ Healthy : & kong.Healthy {
361
+ Interval : kong .Int (1 ),
362
+ },
363
+ HTTPSVerifyCertificate : kong .Bool (false ),
364
+ },
365
+ },
366
+ },
367
+ want : & kong.Upstream {
368
+ Name : kong .String ("foo" ),
369
+ Slots : kong .Int (10000 ),
370
+ Healthchecks : & kong.Healthcheck {
371
+ Active : & kong.ActiveHealthcheck {
372
+ Concurrency : kong .Int (10 ),
373
+ Healthy : & kong.Healthy {
374
+ HTTPStatuses : []int {200 , 302 },
375
+ Interval : kong .Int (1 ),
376
+ Successes : kong .Int (0 ),
377
+ },
258
378
HTTPPath : kong .String ("/" ),
259
- HTTPSVerifyCertificate : kong .Bool (true ),
379
+ HTTPSVerifyCertificate : kong .Bool (false ),
260
380
Type : kong .String ("http" ),
261
381
Timeout : kong .Int (1 ),
262
382
Unhealthy : & kong.Unhealthy {
@@ -288,14 +408,15 @@ func TestUpstreamSetTest(t *testing.T) {
288
408
},
289
409
},
290
410
{
291
- desc : "Healthchecks.Active.Healthy.Timeout is not overridden " ,
411
+ desc : "Healthchecks.Active.HTTPSVerifyCertificate can be set to true " ,
292
412
arg : & kong.Upstream {
293
413
Name : kong .String ("foo" ),
294
414
Healthchecks : & kong.Healthcheck {
295
415
Active : & kong.ActiveHealthcheck {
296
416
Healthy : & kong.Healthy {
297
417
Interval : kong .Int (1 ),
298
418
},
419
+ HTTPSVerifyCertificate : kong .Bool (true ),
299
420
},
300
421
},
301
422
},
0 commit comments