@@ -353,3 +353,161 @@ func TestAddPortToServer(t *testing.T) {
353
353
}
354
354
}
355
355
}
356
+
357
+ func TestHaveSameParameters (t * testing.T ) {
358
+ tests := []struct {
359
+ server UpstreamServer
360
+ serverNGX UpstreamServer
361
+ expected bool
362
+ }{
363
+ {
364
+ server : UpstreamServer {},
365
+ serverNGX : UpstreamServer {},
366
+ expected : true ,
367
+ },
368
+ {
369
+ server : UpstreamServer {ID : 2 },
370
+ serverNGX : UpstreamServer {ID : 3 },
371
+ expected : true ,
372
+ },
373
+ {
374
+ server : UpstreamServer {},
375
+ serverNGX : UpstreamServer {
376
+ MaxConns : & defaultMaxConns ,
377
+ MaxFails : & defaultMaxFails ,
378
+ FailTimeout : defaultFailTimeout ,
379
+ SlowStart : defaultSlowStart ,
380
+ Backup : & defaultBackup ,
381
+ Weight : & defaultWeight ,
382
+ Down : & defaultDown ,
383
+ },
384
+ expected : true ,
385
+ },
386
+ {
387
+ server : UpstreamServer {
388
+ ID : 1 ,
389
+ Server : "127.0.0.1" ,
390
+ MaxConns : & defaultMaxConns ,
391
+ MaxFails : & defaultMaxFails ,
392
+ FailTimeout : defaultFailTimeout ,
393
+ SlowStart : defaultSlowStart ,
394
+ Backup : & defaultBackup ,
395
+ Weight : & defaultWeight ,
396
+ Down : & defaultDown ,
397
+ },
398
+ serverNGX : UpstreamServer {
399
+ ID : 1 ,
400
+ Server : "127.0.0.1" ,
401
+ MaxConns : & defaultMaxConns ,
402
+ MaxFails : & defaultMaxFails ,
403
+ FailTimeout : defaultFailTimeout ,
404
+ SlowStart : defaultSlowStart ,
405
+ Backup : & defaultBackup ,
406
+ Weight : & defaultWeight ,
407
+ Down : & defaultDown ,
408
+ },
409
+ expected : true ,
410
+ },
411
+ {
412
+ server : UpstreamServer {SlowStart : "10s" },
413
+ serverNGX : UpstreamServer {},
414
+ expected : false ,
415
+ },
416
+ {
417
+ server : UpstreamServer {},
418
+ serverNGX : UpstreamServer {SlowStart : "10s" },
419
+ expected : false ,
420
+ },
421
+ {
422
+ server : UpstreamServer {SlowStart : "20s" },
423
+ serverNGX : UpstreamServer {SlowStart : "10s" },
424
+ expected : false ,
425
+ },
426
+ }
427
+
428
+ for _ , test := range tests {
429
+ result := haveSameParameters (test .server , test .serverNGX )
430
+ if result != test .expected {
431
+ t .Errorf ("haveSameParameters(%v, %v) returned %v but expected %v" , test .server , test .serverNGX , result , test .expected )
432
+ }
433
+ }
434
+ }
435
+
436
+ func TestHaveStreamSameParameters (t * testing.T ) {
437
+ tests := []struct {
438
+ server StreamUpstreamServer
439
+ serverNGX StreamUpstreamServer
440
+ expected bool
441
+ }{
442
+ {
443
+ server : StreamUpstreamServer {},
444
+ serverNGX : StreamUpstreamServer {},
445
+ expected : true ,
446
+ },
447
+ {
448
+ server : StreamUpstreamServer {ID : 2 },
449
+ serverNGX : StreamUpstreamServer {ID : 3 },
450
+ expected : true ,
451
+ },
452
+ {
453
+ server : StreamUpstreamServer {},
454
+ serverNGX : StreamUpstreamServer {
455
+ MaxConns : & defaultMaxConns ,
456
+ MaxFails : & defaultMaxFails ,
457
+ FailTimeout : defaultFailTimeout ,
458
+ SlowStart : defaultSlowStart ,
459
+ Backup : & defaultBackup ,
460
+ Weight : & defaultWeight ,
461
+ Down : & defaultDown ,
462
+ },
463
+ expected : true ,
464
+ },
465
+ {
466
+ server : StreamUpstreamServer {
467
+ ID : 1 ,
468
+ Server : "127.0.0.1" ,
469
+ MaxConns : & defaultMaxConns ,
470
+ MaxFails : & defaultMaxFails ,
471
+ FailTimeout : defaultFailTimeout ,
472
+ SlowStart : defaultSlowStart ,
473
+ Backup : & defaultBackup ,
474
+ Weight : & defaultWeight ,
475
+ Down : & defaultDown ,
476
+ },
477
+ serverNGX : StreamUpstreamServer {
478
+ ID : 1 ,
479
+ Server : "127.0.0.1" ,
480
+ MaxConns : & defaultMaxConns ,
481
+ MaxFails : & defaultMaxFails ,
482
+ FailTimeout : defaultFailTimeout ,
483
+ SlowStart : defaultSlowStart ,
484
+ Backup : & defaultBackup ,
485
+ Weight : & defaultWeight ,
486
+ Down : & defaultDown ,
487
+ },
488
+ expected : true ,
489
+ },
490
+ {
491
+ server : StreamUpstreamServer {SlowStart : "10s" },
492
+ serverNGX : StreamUpstreamServer {},
493
+ expected : false ,
494
+ },
495
+ {
496
+ server : StreamUpstreamServer {},
497
+ serverNGX : StreamUpstreamServer {SlowStart : "10s" },
498
+ expected : false ,
499
+ },
500
+ {
501
+ server : StreamUpstreamServer {SlowStart : "20s" },
502
+ serverNGX : StreamUpstreamServer {SlowStart : "10s" },
503
+ expected : false ,
504
+ },
505
+ }
506
+
507
+ for _ , test := range tests {
508
+ result := haveStreamSameParameters (test .server , test .serverNGX )
509
+ if result != test .expected {
510
+ t .Errorf ("haveStreamSameParameters(%v, %v) returned %v but expected %v" , test .server , test .serverNGX , result , test .expected )
511
+ }
512
+ }
513
+ }
0 commit comments