@@ -16,6 +16,8 @@ const (
16
16
streamZoneSync = "zone_test_sync"
17
17
)
18
18
19
+ var defaultMaxFails = 1
20
+
19
21
func TestStreamClient (t * testing.T ) {
20
22
httpClient := & http.Client {}
21
23
c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
@@ -161,20 +163,20 @@ func TestStreamClient(t *testing.T) {
161
163
}
162
164
}
163
165
164
- // Test adding the slow_start property on an upstream server
165
- func TestStreamUpstreamServerSlowStart (t * testing.T ) {
166
+ func TestStreamUpstreamServer (t * testing.T ) {
166
167
httpClient := & http.Client {}
167
168
c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
168
169
if err != nil {
169
170
t .Fatalf ("Error connecting to nginx: %v" , err )
170
171
}
171
172
172
- // Add a server with slow_start
173
- // (And FailTimeout, since the default is 10s)
173
+ maxFails := 64
174
174
streamServer := client.StreamUpstreamServer {
175
175
Server : "127.0.0.1:2000" ,
176
- SlowStart : "11s" ,
177
- FailTimeout : "10s" ,
176
+ MaxConns : 321 ,
177
+ MaxFails : & maxFails ,
178
+ FailTimeout : "21s" ,
179
+ SlowStart : "12s" ,
178
180
}
179
181
err = c .AddStreamServer (streamUpstream , streamServer )
180
182
if err != nil {
@@ -194,7 +196,7 @@ func TestStreamUpstreamServerSlowStart(t *testing.T) {
194
196
t .Errorf ("Expected: %v Got: %v" , streamServer , servers [0 ])
195
197
}
196
198
197
- // remove upstream servers
199
+ // remove stream upstream servers
198
200
_ , _ , err = c .UpdateStreamServers (streamUpstream , []client.StreamUpstreamServer {})
199
201
if err != nil {
200
202
t .Errorf ("Couldn't remove servers: %v" , err )
@@ -353,20 +355,20 @@ func TestClient(t *testing.T) {
353
355
}
354
356
}
355
357
356
- // Test adding the slow_start property on an upstream server
357
- func TestUpstreamServerSlowStart (t * testing.T ) {
358
+ func TestUpstreamServer (t * testing.T ) {
358
359
httpClient := & http.Client {}
359
360
c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
360
361
if err != nil {
361
362
t .Fatalf ("Error connecting to nginx: %v" , err )
362
363
}
363
364
364
- // Add a server with slow_start
365
- // (And FailTimeout, since the default is 10s)
365
+ maxFails := 64
366
366
server := client.UpstreamServer {
367
367
Server : "127.0.0.1:2000" ,
368
- SlowStart : "11s" ,
369
- FailTimeout : "10s" ,
368
+ MaxConns : 321 ,
369
+ MaxFails : & maxFails ,
370
+ FailTimeout : "21s" ,
371
+ SlowStart : "12s" ,
370
372
}
371
373
err = c .AddHTTPServer (upstream , server )
372
374
if err != nil {
@@ -478,6 +480,48 @@ func TestStats(t *testing.T) {
478
480
}
479
481
}
480
482
483
+ func TestUpstreamServerDefaultParameters (t * testing.T ) {
484
+ httpClient := & http.Client {}
485
+ c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
486
+ if err != nil {
487
+ t .Fatalf ("Error connecting to nginx: %v" , err )
488
+ }
489
+
490
+ server := client.UpstreamServer {
491
+ Server : "127.0.0.1:2000" ,
492
+ }
493
+
494
+ expected := client.UpstreamServer {
495
+ Server : "127.0.0.1:2000" ,
496
+ SlowStart : "0s" ,
497
+ MaxFails : & defaultMaxFails ,
498
+ FailTimeout : "10s" ,
499
+ }
500
+ err = c .AddHTTPServer (upstream , server )
501
+ if err != nil {
502
+ t .Errorf ("Error adding upstream server: %v" , err )
503
+ }
504
+ servers , err := c .GetHTTPServers (upstream )
505
+ if err != nil {
506
+ t .Fatalf ("Error getting HTTPServers: %v" , err )
507
+ }
508
+ if len (servers ) != 1 {
509
+ t .Errorf ("Too many servers" )
510
+ }
511
+ // don't compare IDs
512
+ servers [0 ].ID = 0
513
+
514
+ if ! reflect .DeepEqual (expected , servers [0 ]) {
515
+ t .Errorf ("Expected: %v Got: %v" , expected , servers [0 ])
516
+ }
517
+
518
+ // remove upstream servers
519
+ _ , _ , err = c .UpdateHTTPServers (upstream , []client.UpstreamServer {})
520
+ if err != nil {
521
+ t .Errorf ("Couldn't remove servers: %v" , err )
522
+ }
523
+ }
524
+
481
525
func TestStreamStats (t * testing.T ) {
482
526
httpClient := & http.Client {}
483
527
c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
@@ -547,6 +591,49 @@ func TestStreamStats(t *testing.T) {
547
591
t .Errorf ("Couldn't remove stream servers: %v" , err )
548
592
}
549
593
}
594
+
595
+ func TestStreamUpstreamServerDefaultParameters (t * testing.T ) {
596
+ httpClient := & http.Client {}
597
+ c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
598
+ if err != nil {
599
+ t .Fatalf ("Error connecting to nginx: %v" , err )
600
+ }
601
+
602
+ streamServer := client.StreamUpstreamServer {
603
+ Server : "127.0.0.1:2000" ,
604
+ }
605
+
606
+ expected := client.StreamUpstreamServer {
607
+ Server : "127.0.0.1:2000" ,
608
+ SlowStart : "0s" ,
609
+ MaxFails : & defaultMaxFails ,
610
+ FailTimeout : "10s" ,
611
+ }
612
+ err = c .AddStreamServer (streamUpstream , streamServer )
613
+ if err != nil {
614
+ t .Errorf ("Error adding upstream server: %v" , err )
615
+ }
616
+ streamServers , err := c .GetStreamServers (streamUpstream )
617
+ if err != nil {
618
+ t .Fatalf ("Error getting stream servers: %v" , err )
619
+ }
620
+ if len (streamServers ) != 1 {
621
+ t .Errorf ("Too many servers" )
622
+ }
623
+ // don't compare IDs
624
+ streamServers [0 ].ID = 0
625
+
626
+ if ! reflect .DeepEqual (expected , streamServers [0 ]) {
627
+ t .Errorf ("Expected: %v Got: %v" , expected , streamServers [0 ])
628
+ }
629
+
630
+ // cleanup stream upstream servers
631
+ _ , _ , err = c .UpdateStreamServers (streamUpstream , []client.StreamUpstreamServer {})
632
+ if err != nil {
633
+ t .Errorf ("Couldn't remove stream servers: %v" , err )
634
+ }
635
+ }
636
+
550
637
func TestKeyValue (t * testing.T ) {
551
638
zoneName := "zone_one"
552
639
httpClient := & http.Client {}
0 commit comments