@@ -65,7 +65,7 @@ func TestClient(t *testing.T) {
6565 // test updating servers
6666 servers1 := []client.UpstreamServer {
6767 client.UpstreamServer {
68- Server : "127.0.0.2:8001" ,
68+ Server : "127.0.0.2:8001" ,
6969 },
7070 client.UpstreamServer {
7171 Server : "127.0.0.2:8002" ,
@@ -163,6 +163,42 @@ func TestClient(t *testing.T) {
163163 t .Errorf ("The number of servers %v != 0" , len (servers ))
164164 }
165165}
166+ // Test adding the slow_start property on an upstream server
167+ func TestUpstreamServerSlowStart (t * testing.T ) {
168+ httpClient := & http.Client {}
169+ c , err := client .NewNginxClient (httpClient , "http://127.0.0.1:8080/api" )
170+ if err != nil {
171+ t .Fatalf ("Error connecting to nginx: %v" , err )
172+ }
173+
174+ // Add a server with slow_start
175+ // (And FailTimeout, since the default is 10s)
176+ server := client.UpstreamServer {
177+ Server : "127.0.0.1:2000" ,
178+ SlowStart : "11s" ,
179+ FailTimeout : "10s" ,
180+ }
181+ err = c .AddHTTPServer (upstream , server )
182+ if err != nil {
183+ t .Errorf ("Error adding upstream server: %v" , err )
184+ }
185+ servers , err := c .GetHTTPServers (upstream )
186+ if len (servers ) != 1 {
187+ t .Errorf ("Too many servers" )
188+ }
189+ // don't compare IDs
190+ servers [0 ].ID = 0
191+
192+ if ! reflect .DeepEqual (server , servers [0 ]) {
193+ t .Errorf ("Expected: %v Got: %v" , server , servers [0 ])
194+ }
195+
196+ // remove upstream servers
197+ _ , _ , err = c .UpdateHTTPServers (upstream , []client.UpstreamServer {})
198+ if err != nil {
199+ t .Errorf ("Couldn't remove servers: %v" , err )
200+ }
201+ }
166202
167203func compareUpstreamServers (x []client.UpstreamServer , y []client.UpstreamServer ) bool {
168204 var xServers []string
0 commit comments