Browse code

Add API test for empty services list

Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>

Ralf Sippl authored on 2016/07/13 00:31:44
Showing 2 changed files
... ...
@@ -212,6 +212,16 @@ func (d *SwarmDaemon) listNodes(c *check.C) []swarm.Node {
212 212
 	return nodes
213 213
 }
214 214
 
215
+func (d *SwarmDaemon) listServices(c *check.C) []swarm.Service {
216
+	status, out, err := d.SockRequest("GET", "/services", nil)
217
+	c.Assert(err, checker.IsNil)
218
+	c.Assert(status, checker.Equals, http.StatusOK, check.Commentf("output: %q", string(out)))
219
+
220
+	services := []swarm.Service{}
221
+	c.Assert(json.Unmarshal(out, &services), checker.IsNil)
222
+	return services
223
+}
224
+
215 225
 func (d *SwarmDaemon) updateSwarm(c *check.C, f ...specConstructor) {
216 226
 	var sw swarm.Swarm
217 227
 	status, out, err := d.SockRequest("GET", "/swarm", nil)
... ...
@@ -294,6 +294,15 @@ func (s *DockerSwarmSuite) TestApiSwarmPromoteDemote(c *check.C) {
294 294
 	waitAndAssert(c, defaultReconciliationTimeout, d2.checkControlAvailable, checker.True)
295 295
 }
296 296
 
297
+func (s *DockerSwarmSuite) TestApiSwarmServicesEmptyList(c *check.C) {
298
+	testRequires(c, Network)
299
+	d := s.AddDaemon(c, true, true)
300
+
301
+	services := d.listServices(c)
302
+	c.Assert(services, checker.NotNil)
303
+	c.Assert(len(services), checker.Equals, 0, check.Commentf("services: %#v", services))
304
+}
305
+
297 306
 func (s *DockerSwarmSuite) TestApiSwarmServicesCreate(c *check.C) {
298 307
 	testRequires(c, Network)
299 308
 	d := s.AddDaemon(c, true, true)