瀏覽代碼

Add API test for empty services list

Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
(cherry picked from commit 65e72133a11ea3e6873f62039956bbd70548a5a7)
Signed-off-by: Tibor Vass <tibor@docker.com>
Ralf Sippl 9 年之前
父節點
當前提交
909e7a2ca5
共有 2 個文件被更改,包括 19 次插入0 次删除
  1. 10 0
      integration-cli/daemon_swarm.go
  2. 9 0
      integration-cli/docker_api_swarm_test.go

+ 10 - 0
integration-cli/daemon_swarm.go

@@ -212,6 +212,16 @@ func (d *SwarmDaemon) listNodes(c *check.C) []swarm.Node {
 	return nodes
 }
 
+func (d *SwarmDaemon) listServices(c *check.C) []swarm.Service {
+	status, out, err := d.SockRequest("GET", "/services", nil)
+	c.Assert(err, checker.IsNil)
+	c.Assert(status, checker.Equals, http.StatusOK, check.Commentf("output: %q", string(out)))
+
+	services := []swarm.Service{}
+	c.Assert(json.Unmarshal(out, &services), checker.IsNil)
+	return services
+}
+
 func (d *SwarmDaemon) updateSwarm(c *check.C, f ...specConstructor) {
 	var sw swarm.Swarm
 	status, out, err := d.SockRequest("GET", "/swarm", nil)

+ 9 - 0
integration-cli/docker_api_swarm_test.go

@@ -294,6 +294,15 @@ func (s *DockerSwarmSuite) TestApiSwarmPromoteDemote(c *check.C) {
 	waitAndAssert(c, defaultReconciliationTimeout, d2.checkControlAvailable, checker.True)
 }
 
+func (s *DockerSwarmSuite) TestApiSwarmServicesEmptyList(c *check.C) {
+	testRequires(c, Network)
+	d := s.AddDaemon(c, true, true)
+
+	services := d.listServices(c)
+	c.Assert(services, checker.NotNil)
+	c.Assert(len(services), checker.Equals, 0, check.Commentf("services: %#v", services))
+}
+
 func (s *DockerSwarmSuite) TestApiSwarmServicesCreate(c *check.C) {
 	testRequires(c, Network)
 	d := s.AddDaemon(c, true, true)