From ae875d40693325c6a3085644d1abb121c804d887 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 9 Jan 2019 14:47:06 +0100 Subject: [PATCH] Update more tests to use new errors Signed-off-by: Sebastiaan van Stijn --- integration/container/create_test.go | 43 ++++++++++++++-------------- integration/service/create_test.go | 21 +++++--------- 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/integration/container/create_test.go b/integration/container/create_test.go index 7050cdf9a0..b52f831715 100644 --- a/integration/container/create_test.go +++ b/integration/container/create_test.go @@ -4,7 +4,6 @@ import ( "context" "encoding/json" "fmt" - "net/http" "strconv" "testing" "time" @@ -14,6 +13,7 @@ import ( "github.com/docker/docker/api/types/network" "github.com/docker/docker/api/types/versions" "github.com/docker/docker/client" + "github.com/docker/docker/errdefs" ctr "github.com/docker/docker/integration/internal/container" "github.com/docker/docker/internal/test/request" "github.com/docker/docker/oci" @@ -60,6 +60,7 @@ func TestCreateFailsWhenIdentifierDoesNotExist(t *testing.T) { "", ) assert.Check(t, is.ErrorContains(err, tc.expectedError)) + assert.Check(t, errdefs.IsNotFound(err)) }) } } @@ -100,6 +101,7 @@ func TestCreateWithInvalidEnv(t *testing.T) { "", ) assert.Check(t, is.ErrorContains(err, tc.expectedError)) + assert.Check(t, errdefs.IsInvalidParameter(err)) }) } } @@ -145,6 +147,7 @@ func TestCreateTmpfsMountsTarget(t *testing.T) { "", ) assert.Check(t, is.ErrorContains(err, tc.expectedError)) + assert.Check(t, errdefs.IsInvalidParameter(err)) } } func TestCreateWithCustomMaskedPaths(t *testing.T) { @@ -346,6 +349,7 @@ func TestCreateWithCapabilities(t *testing.T) { assert.DeepEqual(t, tc.expected, ci.HostConfig.Capabilities) } else { assert.ErrorContains(t, err, tc.expectedError) + assert.Check(t, errdefs.IsInvalidParameter(err)) } }) } @@ -432,6 +436,8 @@ func TestCreateWithCustomReadonlyPaths(t *testing.T) { func TestCreateWithInvalidHealthcheckParams(t *testing.T) { defer setupTest(t)() + client := testEnv.APIClient() + ctx := context.Background() testCases := []struct { doc string @@ -479,38 +485,31 @@ func TestCreateWithInvalidHealthcheckParams(t *testing.T) { }, } - for i, tc := range testCases { - i := i + for _, tc := range testCases { tc := tc t.Run(tc.doc, func(t *testing.T) { t.Parallel() - healthCheck := map[string]interface{}{ - "Interval": tc.interval, - "Timeout": tc.timeout, - "Retries": tc.retries, + cfg := container.Config{ + Image: "busybox", + Healthcheck: &container.HealthConfig{ + Interval: tc.interval, + Timeout: tc.timeout, + Retries: tc.retries, + }, } if tc.startPeriod != 0 { - healthCheck["StartPeriod"] = tc.startPeriod + cfg.Healthcheck.StartPeriod = tc.startPeriod } - config := map[string]interface{}{ - "Image": "busybox", - "Healthcheck": healthCheck, - } - - res, body, err := request.Post("/containers/create?name="+fmt.Sprintf("test_%d_", i)+t.Name(), request.JSONBody(config)) - assert.NilError(t, err) + resp, err := client.ContainerCreate(ctx, &cfg, &container.HostConfig{}, nil, "") + assert.Check(t, is.Equal(len(resp.Warnings), 0)) if versions.LessThan(testEnv.DaemonAPIVersion(), "1.32") { - assert.Check(t, is.Equal(http.StatusInternalServerError, res.StatusCode)) + assert.Check(t, errdefs.IsSystem(err)) } else { - assert.Check(t, is.Equal(http.StatusBadRequest, res.StatusCode)) + assert.Check(t, errdefs.IsInvalidParameter(err)) } - - buf, err := request.ReadBody(body) - assert.NilError(t, err) - - assert.Check(t, is.Contains(string(buf), tc.expectedErr)) + assert.ErrorContains(t, err, tc.expectedErr) }) } } diff --git a/integration/service/create_test.go b/integration/service/create_test.go index 553124a284..f4948f8608 100644 --- a/integration/service/create_test.go +++ b/integration/service/create_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "io/ioutil" - "net/http" "testing" "time" @@ -13,10 +12,10 @@ import ( swarmtypes "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/api/types/versions" "github.com/docker/docker/client" + "github.com/docker/docker/errdefs" "github.com/docker/docker/integration/internal/network" "github.com/docker/docker/integration/internal/swarm" "github.com/docker/docker/internal/test/daemon" - "github.com/docker/docker/internal/test/request" "gotest.tools/assert" is "gotest.tools/assert/cmp" "gotest.tools/poll" @@ -129,6 +128,9 @@ func TestCreateServiceConflict(t *testing.T) { defer setupTest(t)() d := swarm.NewSwarm(t, testEnv) defer d.Stop(t) + c := d.NewClientT(t) + defer c.Close() + ctx := context.Background() serviceName := "TestService_" + t.Name() serviceSpec := []swarm.ServiceSpecOpt{ @@ -138,18 +140,9 @@ func TestCreateServiceConflict(t *testing.T) { swarm.CreateService(t, d, serviceSpec...) spec := swarm.CreateServiceSpec(t, serviceSpec...) - res, body, err := request.Post( - "/services/create", - request.Host(d.Sock()), - request.JSONBody(spec), - request.JSON, - ) - assert.NilError(t, err) - assert.Equal(t, res.StatusCode, http.StatusConflict) - - buf, err := request.ReadBody(body) - assert.NilError(t, err) - assert.Check(t, is.Contains(string(buf), "service "+serviceName+" already exists")) + _, err := c.ServiceCreate(ctx, spec, types.ServiceCreateOptions{}) + assert.Check(t, errdefs.IsConflict(err)) + assert.ErrorContains(t, err, "service "+serviceName+" already exists") } func TestCreateServiceMaxReplicas(t *testing.T) {