Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
| ... | ... |
@@ -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) |