Sfoglia il codice sorgente

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 anni fa
parent
commit
a3b1b66bb3
1 ha cambiato i file con 9 aggiunte e 9 eliminazioni
  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()
 	ctx := context.TODO()
 
 
 	t.Run("before swarm init", func(t *testing.T) {
 	t.Run("before swarm init", func(t *testing.T) {
-		res, _, err := request.Get("/_ping")
+		p, err := client.Ping(ctx)
 		assert.NilError(t, err)
 		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"})
 	_, err := client.SwarmInit(ctx, swarm.InitRequest{ListenAddr: "127.0.0.1", AdvertiseAddr: "127.0.0.1:2377"})
 	assert.NilError(t, err)
 	assert.NilError(t, err)
 
 
 	t.Run("after swarm init", func(t *testing.T) {
 	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.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)
 	err = client.SwarmLeave(ctx, true)
 	assert.NilError(t, err)
 	assert.NilError(t, err)
 
 
 	t.Run("after swarm leave", func(t *testing.T) {
 	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.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)
 	})
 	})
 }
 }