浏览代码

integration: TestPingSwarmHeader(): fix incorrect ping, and cleanup

I noticed I made a mistake in the first ping ("before swarm init"), which
was not specifying the daemon's socket path and because of that testing
against the main integration daemon (not the locally spun up daemon).

While fixing that, I wondered why the test didn't actually use the client
for the requests (to also verify the client converted the response), so
I rewrote the test to use `client.Ping()` and to verify the ping response
has the expected values set.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 3 年之前
父节点
当前提交
a3b1b66bb3
共有 1 个文件被更改,包括 9 次插入9 次删除
  1. 9 9
      integration/system/ping_test.go

+ 9 - 9
integration/system/ping_test.go

@@ -66,30 +66,30 @@ func TestPingSwarmHeader(t *testing.T) {
 	ctx := context.TODO()
 
 	t.Run("before swarm init", func(t *testing.T) {
-		res, _, err := request.Get("/_ping")
+		p, err := client.Ping(ctx)
 		assert.NilError(t, err)
-		assert.Equal(t, res.StatusCode, http.StatusOK)
-		assert.Equal(t, hdr(res, "Swarm"), "inactive")
+		assert.Equal(t, p.SwarmStatus.NodeState, swarm.LocalNodeStateInactive)
+		assert.Equal(t, p.SwarmStatus.ControlAvailable, false)
 	})
 
 	_, err := client.SwarmInit(ctx, swarm.InitRequest{ListenAddr: "127.0.0.1", AdvertiseAddr: "127.0.0.1:2377"})
 	assert.NilError(t, err)
 
 	t.Run("after swarm init", func(t *testing.T) {
-		res, _, err := request.Get("/_ping", request.Host(d.Sock()))
+		p, err := client.Ping(ctx)
 		assert.NilError(t, err)
-		assert.Equal(t, res.StatusCode, http.StatusOK)
-		assert.Equal(t, hdr(res, "Swarm"), "active/manager")
+		assert.Equal(t, p.SwarmStatus.NodeState, swarm.LocalNodeStateActive)
+		assert.Equal(t, p.SwarmStatus.ControlAvailable, true)
 	})
 
 	err = client.SwarmLeave(ctx, true)
 	assert.NilError(t, err)
 
 	t.Run("after swarm leave", func(t *testing.T) {
-		res, _, err := request.Get("/_ping", request.Host(d.Sock()))
+		p, err := client.Ping(ctx)
 		assert.NilError(t, err)
-		assert.Equal(t, res.StatusCode, http.StatusOK)
-		assert.Equal(t, hdr(res, "Swarm"), "inactive")
+		assert.Equal(t, p.SwarmStatus.NodeState, swarm.LocalNodeStateInactive)
+		assert.Equal(t, p.SwarmStatus.ControlAvailable, false)
 	})
 }