@@ -16,6 +16,8 @@ const (
1616 streamZoneSync = "zone_test_sync"
1717)
1818
19+ var defaultMaxFails = 1
20+
1921func TestStreamClient (t * testing.T ) {
2022 httpClient := & http.Client {}
2123 c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
@@ -161,20 +163,20 @@ func TestStreamClient(t *testing.T) {
161163 }
162164}
163165
164- // Test adding the slow_start property on an upstream server
165- func TestStreamUpstreamServerSlowStart (t * testing.T ) {
166+ func TestStreamUpstreamServer (t * testing.T ) {
166167 httpClient := & http.Client {}
167168 c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
168169 if err != nil {
169170 t .Fatalf ("Error connecting to nginx: %v" , err )
170171 }
171172
172- // Add a server with slow_start
173- // (And FailTimeout, since the default is 10s)
173+ maxFails := 64
174174 streamServer := client.StreamUpstreamServer {
175175 Server : "127.0.0.1:2000" ,
176- SlowStart : "11s" ,
177- FailTimeout : "10s" ,
176+ MaxConns : 321 ,
177+ MaxFails : & maxFails ,
178+ FailTimeout : "21s" ,
179+ SlowStart : "12s" ,
178180 }
179181 err = c .AddStreamServer (streamUpstream , streamServer )
180182 if err != nil {
@@ -194,7 +196,7 @@ func TestStreamUpstreamServerSlowStart(t *testing.T) {
194196 t .Errorf ("Expected: %v Got: %v" , streamServer , servers [0 ])
195197 }
196198
197- // remove upstream servers
199+ // remove stream upstream servers
198200 _ , _ , err = c .UpdateStreamServers (streamUpstream , []client.StreamUpstreamServer {})
199201 if err != nil {
200202 t .Errorf ("Couldn't remove servers: %v" , err )
@@ -353,20 +355,20 @@ func TestClient(t *testing.T) {
353355 }
354356}
355357
356- // Test adding the slow_start property on an upstream server
357- func TestUpstreamServerSlowStart (t * testing.T ) {
358+ func TestUpstreamServer (t * testing.T ) {
358359 httpClient := & http.Client {}
359360 c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
360361 if err != nil {
361362 t .Fatalf ("Error connecting to nginx: %v" , err )
362363 }
363364
364- // Add a server with slow_start
365- // (And FailTimeout, since the default is 10s)
365+ maxFails := 64
366366 server := client.UpstreamServer {
367367 Server : "127.0.0.1:2000" ,
368- SlowStart : "11s" ,
369- FailTimeout : "10s" ,
368+ MaxConns : 321 ,
369+ MaxFails : & maxFails ,
370+ FailTimeout : "21s" ,
371+ SlowStart : "12s" ,
370372 }
371373 err = c .AddHTTPServer (upstream , server )
372374 if err != nil {
@@ -478,6 +480,48 @@ func TestStats(t *testing.T) {
478480 }
479481}
480482
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+
481525func TestStreamStats (t * testing.T ) {
482526 httpClient := & http.Client {}
483527 c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
@@ -547,6 +591,49 @@ func TestStreamStats(t *testing.T) {
547591 t .Errorf ("Couldn't remove stream servers: %v" , err )
548592 }
549593}
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+
550637func TestKeyValue (t * testing.T ) {
551638 zoneName := "zone_one"
552639 httpClient := & http.Client {}
0 commit comments