@@ -65,7 +65,7 @@ func TestClient(t *testing.T) {
65
65
// test updating servers
66
66
servers1 := []client.UpstreamServer {
67
67
client.UpstreamServer {
68
- Server : "127.0.0.2:8001" ,
68
+ Server : "127.0.0.2:8001" ,
69
69
},
70
70
client.UpstreamServer {
71
71
Server : "127.0.0.2:8002" ,
@@ -163,6 +163,42 @@ func TestClient(t *testing.T) {
163
163
t .Errorf ("The number of servers %v != 0" , len (servers ))
164
164
}
165
165
}
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
+ }
166
202
167
203
func compareUpstreamServers (x []client.UpstreamServer , y []client.UpstreamServer ) bool {
168
204
var xServers []string
0 commit comments