Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
| ... | ... |
@@ -67,8 +67,7 @@ func (d *Daemon) CheckServiceUpdateState(service string) func(*check.C) (interfa |
| 67 | 67 |
// CheckPluginRunning returns the runtime state of the plugin |
| 68 | 68 |
func (d *Daemon) CheckPluginRunning(plugin string) func(c *check.C) (interface{}, check.CommentInterface) {
|
| 69 | 69 |
return func(c *check.C) (interface{}, check.CommentInterface) {
|
| 70 |
- apiclient, err := d.NewClient() |
|
| 71 |
- assert.NilError(c, err) |
|
| 70 |
+ apiclient := d.NewClientT(c) |
|
| 72 | 71 |
resp, _, err := apiclient.PluginInspectWithRaw(context.Background(), plugin) |
| 73 | 72 |
if client.IsErrNotFound(err) {
|
| 74 | 73 |
return false, check.Commentf("%v", err)
|
| ... | ... |
@@ -81,8 +80,7 @@ func (d *Daemon) CheckPluginRunning(plugin string) func(c *check.C) (interface{}
|
| 81 | 81 |
// CheckPluginImage returns the runtime state of the plugin |
| 82 | 82 |
func (d *Daemon) CheckPluginImage(plugin string) func(c *check.C) (interface{}, check.CommentInterface) {
|
| 83 | 83 |
return func(c *check.C) (interface{}, check.CommentInterface) {
|
| 84 |
- apiclient, err := d.NewClient() |
|
| 85 |
- assert.NilError(c, err) |
|
| 84 |
+ apiclient := d.NewClientT(c) |
|
| 86 | 85 |
resp, _, err := apiclient.PluginInspectWithRaw(context.Background(), plugin) |
| 87 | 86 |
if client.IsErrNotFound(err) {
|
| 88 | 87 |
return false, check.Commentf("%v", err)
|
| ... | ... |
@@ -102,8 +100,7 @@ func (d *Daemon) CheckServiceTasks(service string) func(*check.C) (interface{},
|
| 102 | 102 |
|
| 103 | 103 |
// CheckRunningTaskNetworks returns the number of times each network is referenced from a task. |
| 104 | 104 |
func (d *Daemon) CheckRunningTaskNetworks(c *check.C) (interface{}, check.CommentInterface) {
|
| 105 |
- cli, err := d.NewClient() |
|
| 106 |
- c.Assert(err, checker.IsNil) |
|
| 105 |
+ cli := d.NewClientT(c) |
|
| 107 | 106 |
defer cli.Close() |
| 108 | 107 |
|
| 109 | 108 |
filterArgs := filters.NewArgs() |
| ... | ... |
@@ -127,8 +124,7 @@ func (d *Daemon) CheckRunningTaskNetworks(c *check.C) (interface{}, check.Commen
|
| 127 | 127 |
|
| 128 | 128 |
// CheckRunningTaskImages returns the times each image is running as a task. |
| 129 | 129 |
func (d *Daemon) CheckRunningTaskImages(c *check.C) (interface{}, check.CommentInterface) {
|
| 130 |
- cli, err := d.NewClient() |
|
| 131 |
- c.Assert(err, checker.IsNil) |
|
| 130 |
+ cli := d.NewClientT(c) |
|
| 132 | 131 |
defer cli.Close() |
| 133 | 132 |
|
| 134 | 133 |
filterArgs := filters.NewArgs() |
| ... | ... |
@@ -177,8 +173,7 @@ func (d *Daemon) CheckControlAvailable(c *check.C) (interface{}, check.CommentIn
|
| 177 | 177 |
|
| 178 | 178 |
// CheckLeader returns whether there is a leader on the swarm or not |
| 179 | 179 |
func (d *Daemon) CheckLeader(c *check.C) (interface{}, check.CommentInterface) {
|
| 180 |
- cli, err := d.NewClient() |
|
| 181 |
- c.Assert(err, checker.IsNil) |
|
| 180 |
+ cli := d.NewClientT(c) |
|
| 182 | 181 |
defer cli.Close() |
| 183 | 182 |
|
| 184 | 183 |
errList := check.Commentf("could not get node list")
|
| ... | ... |
@@ -66,20 +66,19 @@ func (s *DockerSwarmSuite) TestAPISwarmServicesCreate(c *check.C) {
|
| 66 | 66 |
id := d.CreateService(c, simpleTestService, setInstances(instances)) |
| 67 | 67 |
waitAndAssert(c, defaultReconciliationTimeout, d.CheckActiveContainerCount, checker.Equals, instances) |
| 68 | 68 |
|
| 69 |
- cli, err := d.NewClient() |
|
| 70 |
- c.Assert(err, checker.IsNil) |
|
| 71 |
- defer cli.Close() |
|
| 69 |
+ client := d.NewClientT(c) |
|
| 70 |
+ defer client.Close() |
|
| 72 | 71 |
|
| 73 | 72 |
options := types.ServiceInspectOptions{InsertDefaults: true}
|
| 74 | 73 |
|
| 75 | 74 |
// insertDefaults inserts UpdateConfig when service is fetched by ID |
| 76 |
- resp, _, err := cli.ServiceInspectWithRaw(context.Background(), id, options) |
|
| 75 |
+ resp, _, err := client.ServiceInspectWithRaw(context.Background(), id, options) |
|
| 77 | 76 |
out := fmt.Sprintf("%+v", resp)
|
| 78 | 77 |
c.Assert(err, checker.IsNil) |
| 79 | 78 |
c.Assert(out, checker.Contains, "UpdateConfig") |
| 80 | 79 |
|
| 81 | 80 |
// insertDefaults inserts UpdateConfig when service is fetched by ID |
| 82 |
- resp, _, err = cli.ServiceInspectWithRaw(context.Background(), "top", options) |
|
| 81 |
+ resp, _, err = client.ServiceInspectWithRaw(context.Background(), "top", options) |
|
| 83 | 82 |
out = fmt.Sprintf("%+v", resp)
|
| 84 | 83 |
c.Assert(err, checker.IsNil) |
| 85 | 84 |
c.Assert(string(out), checker.Contains, "UpdateConfig") |
| ... | ... |
@@ -377,13 +377,12 @@ func (s *DockerSwarmSuite) TestAPISwarmRaftQuorum(c *check.C) {
|
| 377 | 377 |
var service swarm.Service |
| 378 | 378 |
simpleTestService(&service) |
| 379 | 379 |
service.Spec.Name = "top2" |
| 380 |
- cli, err := d1.NewClient() |
|
| 381 |
- c.Assert(err, checker.IsNil) |
|
| 380 |
+ cli := d1.NewClientT(c) |
|
| 382 | 381 |
defer cli.Close() |
| 383 | 382 |
|
| 384 | 383 |
// d1 will eventually step down from leader because there is no longer an active quorum, wait for that to happen |
| 385 | 384 |
waitAndAssert(c, defaultReconciliationTimeout, func(c *check.C) (interface{}, check.CommentInterface) {
|
| 386 |
- _, err = cli.ServiceCreate(context.Background(), service.Spec, types.ServiceCreateOptions{})
|
|
| 385 |
+ _, err := cli.ServiceCreate(context.Background(), service.Spec, types.ServiceCreateOptions{})
|
|
| 387 | 386 |
return err.Error(), nil |
| 388 | 387 |
}, checker.Contains, "Make sure more than half of the managers are online.") |
| 389 | 388 |
|
| ... | ... |
@@ -849,10 +848,9 @@ func (s *DockerSwarmSuite) TestAPISwarmServicesUpdateWithName(c *check.C) {
|
| 849 | 849 |
instances = 5 |
| 850 | 850 |
|
| 851 | 851 |
setInstances(instances)(service) |
| 852 |
- cli, err := d.NewClient() |
|
| 853 |
- c.Assert(err, checker.IsNil) |
|
| 852 |
+ cli := d.NewClientT(c) |
|
| 854 | 853 |
defer cli.Close() |
| 855 |
- _, err = cli.ServiceUpdate(context.Background(), service.Spec.Name, service.Version, service.Spec, types.ServiceUpdateOptions{})
|
|
| 854 |
+ _, err := cli.ServiceUpdate(context.Background(), service.Spec.Name, service.Version, service.Spec, types.ServiceUpdateOptions{})
|
|
| 856 | 855 |
c.Assert(err, checker.IsNil) |
| 857 | 856 |
waitAndAssert(c, defaultReconciliationTimeout, d.CheckActiveContainerCount, checker.Equals, instances) |
| 858 | 857 |
} |
| ... | ... |
@@ -884,8 +882,7 @@ func (s *DockerSwarmSuite) TestAPISwarmErrorHandling(c *check.C) {
|
| 884 | 884 |
// This test makes sure the fixes correctly output scopes instead. |
| 885 | 885 |
func (s *DockerSwarmSuite) TestAPIDuplicateNetworks(c *check.C) {
|
| 886 | 886 |
d := s.AddDaemon(c, true, true) |
| 887 |
- cli, err := d.NewClient() |
|
| 888 |
- c.Assert(err, checker.IsNil) |
|
| 887 |
+ cli := d.NewClientT(c) |
|
| 889 | 888 |
defer cli.Close() |
| 890 | 889 |
|
| 891 | 890 |
name := "foo" |
| ... | ... |
@@ -1014,8 +1011,7 @@ func (s *DockerSwarmSuite) TestAPINetworkInspectWithScope(c *check.C) {
|
| 1014 | 1014 |
|
| 1015 | 1015 |
name := "test-scoped-network" |
| 1016 | 1016 |
ctx := context.Background() |
| 1017 |
- apiclient, err := d.NewClient() |
|
| 1018 |
- assert.NilError(c, err) |
|
| 1017 |
+ apiclient := d.NewClientT(c) |
|
| 1019 | 1018 |
|
| 1020 | 1019 |
resp, err := apiclient.NetworkCreate(ctx, name, types.NetworkCreate{Driver: "overlay"})
|
| 1021 | 1020 |
assert.NilError(c, err) |
| ... | ... |
@@ -425,8 +425,7 @@ func (s *DockerSwarmSuite) TestOverlayAttachableOnSwarmLeave(c *check.C) {
|
| 425 | 425 |
c.Assert(err, checker.IsNil, check.Commentf("%s", out))
|
| 426 | 426 |
|
| 427 | 427 |
// Leave the swarm |
| 428 |
- err = d.SwarmLeave(true) |
|
| 429 |
- c.Assert(err, checker.IsNil) |
|
| 428 |
+ c.Assert(d.SwarmLeave(true), checker.IsNil) |
|
| 430 | 429 |
|
| 431 | 430 |
// Check the container is disconnected |
| 432 | 431 |
out, err = d.Cmd("inspect", "c1", "--format", "{{.NetworkSettings.Networks."+nwName+"}}")
|
| ... | ... |
@@ -1612,8 +1611,7 @@ func (s *DockerSwarmSuite) TestNetworkInspectWithDuplicateNames(c *check.C) {
|
| 1612 | 1612 |
Driver: "bridge", |
| 1613 | 1613 |
} |
| 1614 | 1614 |
|
| 1615 |
- cli, err := d.NewClient() |
|
| 1616 |
- c.Assert(err, checker.IsNil) |
|
| 1615 |
+ cli := d.NewClientT(c) |
|
| 1617 | 1616 |
defer cli.Close() |
| 1618 | 1617 |
|
| 1619 | 1618 |
n1, err := cli.NetworkCreate(context.Background(), name, options) |
| ... | ... |
@@ -36,18 +36,17 @@ func TestContainerStartOnDaemonRestart(t *testing.T) {
|
| 36 | 36 |
d.StartWithBusybox(t, "--iptables=false") |
| 37 | 37 |
defer d.Stop(t) |
| 38 | 38 |
|
| 39 |
- client, err := d.NewClient() |
|
| 40 |
- assert.Check(t, err, "error creating client") |
|
| 39 |
+ c := d.NewClientT(t) |
|
| 41 | 40 |
|
| 42 | 41 |
ctx := context.Background() |
| 43 | 42 |
|
| 44 |
- cID := container.Create(t, ctx, client) |
|
| 45 |
- defer client.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
|
|
| 43 |
+ cID := container.Create(t, ctx, c) |
|
| 44 |
+ defer c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
|
|
| 46 | 45 |
|
| 47 |
- err = client.ContainerStart(ctx, cID, types.ContainerStartOptions{})
|
|
| 46 |
+ err := c.ContainerStart(ctx, cID, types.ContainerStartOptions{})
|
|
| 48 | 47 |
assert.Check(t, err, "error starting test container") |
| 49 | 48 |
|
| 50 |
- inspect, err := client.ContainerInspect(ctx, cID) |
|
| 49 |
+ inspect, err := c.ContainerInspect(ctx, cID) |
|
| 51 | 50 |
assert.Check(t, err, "error getting inspect data") |
| 52 | 51 |
|
| 53 | 52 |
ppid := getContainerdShimPid(t, inspect) |
| ... | ... |
@@ -63,7 +62,7 @@ func TestContainerStartOnDaemonRestart(t *testing.T) {
|
| 63 | 63 |
|
| 64 | 64 |
d.Start(t, "--iptables=false") |
| 65 | 65 |
|
| 66 |
- err = client.ContainerStart(ctx, cID, types.ContainerStartOptions{})
|
|
| 66 |
+ err = c.ContainerStart(ctx, cID, types.ContainerStartOptions{})
|
|
| 67 | 67 |
assert.Check(t, err, "failed to start test container") |
| 68 | 68 |
} |
| 69 | 69 |
|
| ... | ... |
@@ -62,17 +62,16 @@ func TestExportContainerAfterDaemonRestart(t *testing.T) {
|
| 62 | 62 |
skip.If(t, testEnv.IsRemoteDaemon()) |
| 63 | 63 |
|
| 64 | 64 |
d := daemon.New(t) |
| 65 |
- client, err := d.NewClient() |
|
| 66 |
- assert.NilError(t, err) |
|
| 65 |
+ c := d.NewClientT(t) |
|
| 67 | 66 |
|
| 68 | 67 |
d.StartWithBusybox(t) |
| 69 | 68 |
defer d.Stop(t) |
| 70 | 69 |
|
| 71 | 70 |
ctx := context.Background() |
| 72 |
- ctrID := container.Create(t, ctx, client) |
|
| 71 |
+ ctrID := container.Create(t, ctx, c) |
|
| 73 | 72 |
|
| 74 | 73 |
d.Restart(t) |
| 75 | 74 |
|
| 76 |
- _, err = client.ContainerExport(ctx, ctrID) |
|
| 75 |
+ _, err := c.ContainerExport(ctx, ctrID) |
|
| 77 | 76 |
assert.NilError(t, err) |
| 78 | 77 |
} |
| ... | ... |
@@ -228,8 +228,7 @@ func testDaemonIpcPrivateShareable(t *testing.T, mustBeShared bool, arg ...strin |
| 228 | 228 |
d.StartWithBusybox(t, arg...) |
| 229 | 229 |
defer d.Stop(t) |
| 230 | 230 |
|
| 231 |
- client, err := d.NewClient() |
|
| 232 |
- assert.Check(t, err, "error creating client") |
|
| 231 |
+ c := d.NewClientT(t) |
|
| 233 | 232 |
|
| 234 | 233 |
cfg := containertypes.Config{
|
| 235 | 234 |
Image: "busybox", |
| ... | ... |
@@ -237,16 +236,16 @@ func testDaemonIpcPrivateShareable(t *testing.T, mustBeShared bool, arg ...strin |
| 237 | 237 |
} |
| 238 | 238 |
ctx := context.Background() |
| 239 | 239 |
|
| 240 |
- resp, err := client.ContainerCreate(ctx, &cfg, &containertypes.HostConfig{}, nil, "")
|
|
| 240 |
+ resp, err := c.ContainerCreate(ctx, &cfg, &containertypes.HostConfig{}, nil, "")
|
|
| 241 | 241 |
assert.NilError(t, err) |
| 242 | 242 |
assert.Check(t, is.Equal(len(resp.Warnings), 0)) |
| 243 | 243 |
|
| 244 |
- err = client.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{})
|
|
| 244 |
+ err = c.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{})
|
|
| 245 | 245 |
assert.NilError(t, err) |
| 246 | 246 |
|
| 247 | 247 |
// get major:minor pair for /dev/shm from container's /proc/self/mountinfo |
| 248 | 248 |
cmd := "awk '($5 == \"/dev/shm\") {printf $3}' /proc/self/mountinfo"
|
| 249 |
- result, err := container.Exec(ctx, client, resp.ID, []string{"sh", "-c", cmd})
|
|
| 249 |
+ result, err := container.Exec(ctx, c, resp.ID, []string{"sh", "-c", cmd})
|
|
| 250 | 250 |
assert.NilError(t, err) |
| 251 | 251 |
mm := result.Combined() |
| 252 | 252 |
assert.Check(t, is.Equal(true, regexp.MustCompile("^[0-9]+:[0-9]+$").MatchString(mm)))
|
| ... | ... |
@@ -26,7 +26,7 @@ func TestDaemonRestartKillContainers(t *testing.T) {
|
| 26 | 26 |
xStart bool |
| 27 | 27 |
} |
| 28 | 28 |
|
| 29 |
- for _, c := range []testCase{
|
|
| 29 |
+ for _, tc := range []testCase{
|
|
| 30 | 30 |
{
|
| 31 | 31 |
desc: "container without restart policy", |
| 32 | 32 |
config: &container.Config{Image: "busybox", Cmd: []string{"top"}},
|
| ... | ... |
@@ -57,16 +57,15 @@ func TestDaemonRestartKillContainers(t *testing.T) {
|
| 57 | 57 |
d.Stop(t) |
| 58 | 58 |
}, |
| 59 | 59 |
} {
|
| 60 |
- t.Run(fmt.Sprintf("live-restore=%v/%s/%s", liveRestoreEnabled, c.desc, fnName), func(t *testing.T) {
|
|
| 61 |
- c := c |
|
| 60 |
+ t.Run(fmt.Sprintf("live-restore=%v/%s/%s", liveRestoreEnabled, tc.desc, fnName), func(t *testing.T) {
|
|
| 61 |
+ c := tc |
|
| 62 | 62 |
liveRestoreEnabled := liveRestoreEnabled |
| 63 | 63 |
stopDaemon := stopDaemon |
| 64 | 64 |
|
| 65 | 65 |
t.Parallel() |
| 66 | 66 |
|
| 67 | 67 |
d := daemon.New(t) |
| 68 |
- client, err := d.NewClient() |
|
| 69 |
- assert.NilError(t, err) |
|
| 68 |
+ client := d.NewClientT(t) |
|
| 70 | 69 |
|
| 71 | 70 |
args := []string{"--iptables=false"}
|
| 72 | 71 |
if liveRestoreEnabled {
|
| ... | ... |
@@ -32,19 +32,18 @@ func TestDockerNetworkIpvlanPersistance(t *testing.T) {
|
| 32 | 32 |
n.CreateMasterDummy(t, master) |
| 33 | 33 |
defer n.DeleteInterface(t, master) |
| 34 | 34 |
|
| 35 |
- client, err := d.NewClient() |
|
| 36 |
- assert.NilError(t, err) |
|
| 35 |
+ c := d.NewClientT(t) |
|
| 37 | 36 |
|
| 38 | 37 |
// create a network specifying the desired sub-interface name |
| 39 | 38 |
netName := "di-persist" |
| 40 |
- net.CreateNoError(t, context.Background(), client, netName, |
|
| 39 |
+ net.CreateNoError(t, context.Background(), c, netName, |
|
| 41 | 40 |
net.WithIPvlan("di-dummy0.70", ""),
|
| 42 | 41 |
) |
| 43 | 42 |
|
| 44 |
- assert.Check(t, n.IsNetworkAvailable(client, netName)) |
|
| 43 |
+ assert.Check(t, n.IsNetworkAvailable(c, netName)) |
|
| 45 | 44 |
// Restart docker daemon to test the config has persisted to disk |
| 46 | 45 |
d.Restart(t) |
| 47 |
- assert.Check(t, n.IsNetworkAvailable(client, netName)) |
|
| 46 |
+ assert.Check(t, n.IsNetworkAvailable(c, netName)) |
|
| 48 | 47 |
} |
| 49 | 48 |
|
| 50 | 49 |
func TestDockerNetworkIpvlan(t *testing.T) {
|
| ... | ... |
@@ -87,11 +86,9 @@ func TestDockerNetworkIpvlan(t *testing.T) {
|
| 87 | 87 |
} {
|
| 88 | 88 |
d := daemon.New(t, daemon.WithExperimental) |
| 89 | 89 |
d.StartWithBusybox(t) |
| 90 |
+ c := d.NewClientT(t) |
|
| 90 | 91 |
|
| 91 |
- client, err := d.NewClient() |
|
| 92 |
- assert.NilError(t, err) |
|
| 93 |
- |
|
| 94 |
- t.Run(tc.name, tc.test(client)) |
|
| 92 |
+ t.Run(tc.name, tc.test(c)) |
|
| 95 | 93 |
|
| 96 | 94 |
d.Stop(t) |
| 97 | 95 |
// FIXME(vdemeester) clean network |
| ... | ... |
@@ -30,16 +30,15 @@ func TestDockerNetworkMacvlanPersistance(t *testing.T) {
|
| 30 | 30 |
n.CreateMasterDummy(t, master) |
| 31 | 31 |
defer n.DeleteInterface(t, master) |
| 32 | 32 |
|
| 33 |
- client, err := d.NewClient() |
|
| 34 |
- assert.NilError(t, err) |
|
| 33 |
+ c := d.NewClientT(t) |
|
| 35 | 34 |
|
| 36 | 35 |
netName := "dm-persist" |
| 37 |
- net.CreateNoError(t, context.Background(), client, netName, |
|
| 36 |
+ net.CreateNoError(t, context.Background(), c, netName, |
|
| 38 | 37 |
net.WithMacvlan("dm-dummy0.60"),
|
| 39 | 38 |
) |
| 40 |
- assert.Check(t, n.IsNetworkAvailable(client, netName)) |
|
| 39 |
+ assert.Check(t, n.IsNetworkAvailable(c, netName)) |
|
| 41 | 40 |
d.Restart(t) |
| 42 |
- assert.Check(t, n.IsNetworkAvailable(client, netName)) |
|
| 41 |
+ assert.Check(t, n.IsNetworkAvailable(c, netName)) |
|
| 43 | 42 |
} |
| 44 | 43 |
|
| 45 | 44 |
func TestDockerNetworkMacvlan(t *testing.T) {
|
| ... | ... |
@@ -69,11 +68,9 @@ func TestDockerNetworkMacvlan(t *testing.T) {
|
| 69 | 69 |
} {
|
| 70 | 70 |
d := daemon.New(t) |
| 71 | 71 |
d.StartWithBusybox(t) |
| 72 |
+ c := d.NewClientT(t) |
|
| 72 | 73 |
|
| 73 |
- client, err := d.NewClient() |
|
| 74 |
- assert.NilError(t, err) |
|
| 75 |
- |
|
| 76 |
- t.Run(tc.name, tc.test(client)) |
|
| 74 |
+ t.Run(tc.name, tc.test(c)) |
|
| 77 | 75 |
|
| 78 | 76 |
d.Stop(t) |
| 79 | 77 |
// FIXME(vdemeester) clean network |
| ... | ... |
@@ -26,21 +26,20 @@ func TestRunContainerWithBridgeNone(t *testing.T) {
|
| 26 | 26 |
d.StartWithBusybox(t, "-b", "none") |
| 27 | 27 |
defer d.Stop(t) |
| 28 | 28 |
|
| 29 |
- client, err := d.NewClient() |
|
| 30 |
- assert.Check(t, err, "error creating client") |
|
| 31 |
- |
|
| 29 |
+ c := d.NewClientT(t) |
|
| 32 | 30 |
ctx := context.Background() |
| 33 |
- id1 := container.Run(t, ctx, client) |
|
| 34 |
- defer client.ContainerRemove(ctx, id1, types.ContainerRemoveOptions{Force: true})
|
|
| 35 | 31 |
|
| 36 |
- result, err := container.Exec(ctx, client, id1, []string{"ip", "l"})
|
|
| 32 |
+ id1 := container.Run(t, ctx, c) |
|
| 33 |
+ defer c.ContainerRemove(ctx, id1, types.ContainerRemoveOptions{Force: true})
|
|
| 34 |
+ |
|
| 35 |
+ result, err := container.Exec(ctx, c, id1, []string{"ip", "l"})
|
|
| 37 | 36 |
assert.NilError(t, err) |
| 38 | 37 |
assert.Check(t, is.Equal(false, strings.Contains(result.Combined(), "eth0")), "There shouldn't be eth0 in container in default(bridge) mode when bridge network is disabled") |
| 39 | 38 |
|
| 40 |
- id2 := container.Run(t, ctx, client, container.WithNetworkMode("bridge"))
|
|
| 41 |
- defer client.ContainerRemove(ctx, id2, types.ContainerRemoveOptions{Force: true})
|
|
| 39 |
+ id2 := container.Run(t, ctx, c, container.WithNetworkMode("bridge"))
|
|
| 40 |
+ defer c.ContainerRemove(ctx, id2, types.ContainerRemoveOptions{Force: true})
|
|
| 42 | 41 |
|
| 43 |
- result, err = container.Exec(ctx, client, id2, []string{"ip", "l"})
|
|
| 42 |
+ result, err = container.Exec(ctx, c, id2, []string{"ip", "l"})
|
|
| 44 | 43 |
assert.NilError(t, err) |
| 45 | 44 |
assert.Check(t, is.Equal(false, strings.Contains(result.Combined(), "eth0")), "There shouldn't be eth0 in container in bridge mode when bridge network is disabled") |
| 46 | 45 |
|
| ... | ... |
@@ -51,10 +50,10 @@ func TestRunContainerWithBridgeNone(t *testing.T) {
|
| 51 | 51 |
err = cmd.Run() |
| 52 | 52 |
assert.NilError(t, err, "Failed to get current process network namespace: %+v", err) |
| 53 | 53 |
|
| 54 |
- id3 := container.Run(t, ctx, client, container.WithNetworkMode("host"))
|
|
| 55 |
- defer client.ContainerRemove(ctx, id3, types.ContainerRemoveOptions{Force: true})
|
|
| 54 |
+ id3 := container.Run(t, ctx, c, container.WithNetworkMode("host"))
|
|
| 55 |
+ defer c.ContainerRemove(ctx, id3, types.ContainerRemoveOptions{Force: true})
|
|
| 56 | 56 |
|
| 57 |
- result, err = container.Exec(ctx, client, id3, []string{"sh", "-c", nsCommand})
|
|
| 57 |
+ result, err = container.Exec(ctx, c, id3, []string{"sh", "-c", nsCommand})
|
|
| 58 | 58 |
assert.NilError(t, err) |
| 59 | 59 |
assert.Check(t, is.Equal(stdout.String(), result.Combined()), "The network namspace of container should be the same with host when --net=host and bridge network is disabled") |
| 60 | 60 |
} |
| ... | ... |
@@ -32,15 +32,16 @@ func TestDaemonRestartWithLiveRestore(t *testing.T) {
|
| 32 | 32 |
d := daemon.New(t) |
| 33 | 33 |
defer d.Stop(t) |
| 34 | 34 |
d.Start(t) |
| 35 |
- d.Restart(t, "--live-restore=true", |
|
| 35 |
+ d.Restart(t, |
|
| 36 |
+ "--live-restore=true", |
|
| 36 | 37 |
"--default-address-pool", "base=175.30.0.0/16,size=16", |
| 37 |
- "--default-address-pool", "base=175.33.0.0/16,size=24") |
|
| 38 |
+ "--default-address-pool", "base=175.33.0.0/16,size=24", |
|
| 39 |
+ ) |
|
| 38 | 40 |
|
| 39 | 41 |
// Verify bridge network's subnet |
| 40 |
- cli, err := d.NewClient() |
|
| 41 |
- assert.Assert(t, err) |
|
| 42 |
- defer cli.Close() |
|
| 43 |
- out, err := cli.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 42 |
+ c := d.NewClientT(t) |
|
| 43 |
+ defer c.Close() |
|
| 44 |
+ out, err := c.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 44 | 45 |
assert.NilError(t, err) |
| 45 | 46 |
// Make sure docker0 doesn't get override with new IP in live restore case |
| 46 | 47 |
assert.Equal(t, out.IPAM.Config[0].Subnet, "172.18.0.0/16") |
| ... | ... |
@@ -57,31 +58,32 @@ func TestDaemonDefaultNetworkPools(t *testing.T) {
|
| 57 | 57 |
defer d.Stop(t) |
| 58 | 58 |
d.Start(t, |
| 59 | 59 |
"--default-address-pool", "base=175.30.0.0/16,size=16", |
| 60 |
- "--default-address-pool", "base=175.33.0.0/16,size=24") |
|
| 60 |
+ "--default-address-pool", "base=175.33.0.0/16,size=24", |
|
| 61 |
+ ) |
|
| 62 |
+ |
|
| 63 |
+ c := d.NewClientT(t) |
|
| 64 |
+ defer c.Close() |
|
| 61 | 65 |
|
| 62 | 66 |
// Verify bridge network's subnet |
| 63 |
- cli, err := d.NewClient() |
|
| 64 |
- assert.Assert(t, err) |
|
| 65 |
- defer cli.Close() |
|
| 66 |
- out, err := cli.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 67 |
+ out, err := c.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 67 | 68 |
assert.NilError(t, err) |
| 68 | 69 |
assert.Equal(t, out.IPAM.Config[0].Subnet, "175.30.0.0/16") |
| 69 | 70 |
|
| 70 | 71 |
// Create a bridge network and verify its subnet is the second default pool |
| 71 | 72 |
name := "elango" + t.Name() |
| 72 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 73 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 73 | 74 |
network.WithDriver("bridge"),
|
| 74 | 75 |
) |
| 75 |
- out, err = cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 76 |
+ out, err = c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 76 | 77 |
assert.NilError(t, err) |
| 77 | 78 |
assert.Equal(t, out.IPAM.Config[0].Subnet, "175.33.0.0/24") |
| 78 | 79 |
|
| 79 | 80 |
// Create a bridge network and verify its subnet is the third default pool |
| 80 | 81 |
name = "saanvi" + t.Name() |
| 81 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 82 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 82 | 83 |
network.WithDriver("bridge"),
|
| 83 | 84 |
) |
| 84 |
- out, err = cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 85 |
+ out, err = c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 85 | 86 |
assert.NilError(t, err) |
| 86 | 87 |
assert.Equal(t, out.IPAM.Config[0].Subnet, "175.33.1.0/24") |
| 87 | 88 |
delInterface(t, defaultNetworkBridge) |
| ... | ... |
@@ -96,17 +98,17 @@ func TestDaemonRestartWithExistingNetwork(t *testing.T) {
|
| 96 | 96 |
d := daemon.New(t) |
| 97 | 97 |
d.Start(t) |
| 98 | 98 |
defer d.Stop(t) |
| 99 |
- // Verify bridge network's subnet |
|
| 100 |
- cli, err := d.NewClient() |
|
| 101 |
- assert.Assert(t, err) |
|
| 102 |
- defer cli.Close() |
|
| 99 |
+ c := d.NewClientT(t) |
|
| 100 |
+ defer c.Close() |
|
| 103 | 101 |
|
| 104 | 102 |
// Create a bridge network |
| 105 | 103 |
name := "elango" + t.Name() |
| 106 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 104 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 107 | 105 |
network.WithDriver("bridge"),
|
| 108 | 106 |
) |
| 109 |
- out, err := cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 107 |
+ |
|
| 108 |
+ // Verify bridge network's subnet |
|
| 109 |
+ out, err := c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 110 | 110 |
assert.NilError(t, err) |
| 111 | 111 |
networkip := out.IPAM.Config[0].Subnet |
| 112 | 112 |
|
| ... | ... |
@@ -115,7 +117,7 @@ func TestDaemonRestartWithExistingNetwork(t *testing.T) {
|
| 115 | 115 |
"--default-address-pool", "base=175.30.0.0/16,size=16", |
| 116 | 116 |
"--default-address-pool", "base=175.33.0.0/16,size=24") |
| 117 | 117 |
|
| 118 |
- out1, err := cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 118 |
+ out1, err := c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 119 | 119 |
assert.NilError(t, err) |
| 120 | 120 |
assert.Equal(t, out1.IPAM.Config[0].Subnet, networkip) |
| 121 | 121 |
delInterface(t, defaultNetworkBridge) |
| ... | ... |
@@ -129,40 +131,41 @@ func TestDaemonRestartWithExistingNetworkWithDefaultPoolRange(t *testing.T) {
|
| 129 | 129 |
d := daemon.New(t) |
| 130 | 130 |
d.Start(t) |
| 131 | 131 |
defer d.Stop(t) |
| 132 |
- // Verify bridge network's subnet |
|
| 133 |
- cli, err := d.NewClient() |
|
| 134 |
- assert.Assert(t, err) |
|
| 135 |
- defer cli.Close() |
|
| 132 |
+ c := d.NewClientT(t) |
|
| 133 |
+ defer c.Close() |
|
| 136 | 134 |
|
| 137 | 135 |
// Create a bridge network |
| 138 | 136 |
name := "elango" + t.Name() |
| 139 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 137 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 140 | 138 |
network.WithDriver("bridge"),
|
| 141 | 139 |
) |
| 142 |
- out, err := cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 140 |
+ |
|
| 141 |
+ // Verify bridge network's subnet |
|
| 142 |
+ out, err := c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 143 | 143 |
assert.NilError(t, err) |
| 144 | 144 |
networkip := out.IPAM.Config[0].Subnet |
| 145 | 145 |
|
| 146 | 146 |
// Create a bridge network |
| 147 | 147 |
name = "sthira" + t.Name() |
| 148 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 148 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 149 | 149 |
network.WithDriver("bridge"),
|
| 150 | 150 |
) |
| 151 |
- out, err = cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 151 |
+ out, err = c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 152 | 152 |
assert.NilError(t, err) |
| 153 | 153 |
networkip2 := out.IPAM.Config[0].Subnet |
| 154 | 154 |
|
| 155 | 155 |
// Restart daemon with default address pool option |
| 156 | 156 |
d.Restart(t, |
| 157 | 157 |
"--default-address-pool", "base=175.18.0.0/16,size=16", |
| 158 |
- "--default-address-pool", "base=175.19.0.0/16,size=24") |
|
| 158 |
+ "--default-address-pool", "base=175.19.0.0/16,size=24", |
|
| 159 |
+ ) |
|
| 159 | 160 |
|
| 160 | 161 |
// Create a bridge network |
| 161 | 162 |
name = "saanvi" + t.Name() |
| 162 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 163 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 163 | 164 |
network.WithDriver("bridge"),
|
| 164 | 165 |
) |
| 165 |
- out1, err := cli.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 166 |
+ out1, err := c.NetworkInspect(context.Background(), name, types.NetworkInspectOptions{})
|
|
| 166 | 167 |
assert.NilError(t, err) |
| 167 | 168 |
|
| 168 | 169 |
assert.Check(t, out1.IPAM.Config[0].Subnet != networkip) |
| ... | ... |
@@ -177,15 +180,17 @@ func TestDaemonWithBipAndDefaultNetworkPool(t *testing.T) {
|
| 177 | 177 |
defaultNetworkBridge := "docker0" |
| 178 | 178 |
d := daemon.New(t) |
| 179 | 179 |
defer d.Stop(t) |
| 180 |
- d.Start(t, "--bip=172.60.0.1/16", |
|
| 180 |
+ d.Start(t, |
|
| 181 |
+ "--bip=172.60.0.1/16", |
|
| 181 | 182 |
"--default-address-pool", "base=175.30.0.0/16,size=16", |
| 182 |
- "--default-address-pool", "base=175.33.0.0/16,size=24") |
|
| 183 |
+ "--default-address-pool", "base=175.33.0.0/16,size=24", |
|
| 184 |
+ ) |
|
| 185 |
+ |
|
| 186 |
+ c := d.NewClientT(t) |
|
| 187 |
+ defer c.Close() |
|
| 183 | 188 |
|
| 184 | 189 |
// Verify bridge network's subnet |
| 185 |
- cli, err := d.NewClient() |
|
| 186 |
- assert.Assert(t, err) |
|
| 187 |
- defer cli.Close() |
|
| 188 |
- out, err := cli.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 190 |
+ out, err := c.NetworkInspect(context.Background(), "bridge", types.NetworkInspectOptions{})
|
|
| 189 | 191 |
assert.NilError(t, err) |
| 190 | 192 |
// Make sure BIP IP doesn't get override with new default address pool . |
| 191 | 193 |
assert.Equal(t, out.IPAM.Config[0].Subnet, "172.60.0.1/16") |
| ... | ... |
@@ -197,8 +202,8 @@ func TestServiceWithPredefinedNetwork(t *testing.T) {
|
| 197 | 197 |
defer setupTest(t)() |
| 198 | 198 |
d := swarm.NewSwarm(t, testEnv) |
| 199 | 199 |
defer d.Stop(t) |
| 200 |
- client := d.NewClientT(t) |
|
| 201 |
- defer client.Close() |
|
| 200 |
+ c := d.NewClientT(t) |
|
| 201 |
+ defer c.Close() |
|
| 202 | 202 |
|
| 203 | 203 |
hostName := "host" |
| 204 | 204 |
var instances uint64 = 1 |
| ... | ... |
@@ -210,12 +215,12 @@ func TestServiceWithPredefinedNetwork(t *testing.T) {
|
| 210 | 210 |
swarm.ServiceWithNetwork(hostName), |
| 211 | 211 |
) |
| 212 | 212 |
|
| 213 |
- poll.WaitOn(t, serviceRunningCount(client, serviceID, instances), swarm.ServicePoll) |
|
| 213 |
+ poll.WaitOn(t, serviceRunningCount(c, serviceID, instances), swarm.ServicePoll) |
|
| 214 | 214 |
|
| 215 |
- _, _, err := client.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{})
|
|
| 215 |
+ _, _, err := c.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{})
|
|
| 216 | 216 |
assert.NilError(t, err) |
| 217 | 217 |
|
| 218 |
- err = client.ServiceRemove(context.Background(), serviceID) |
|
| 218 |
+ err = c.ServiceRemove(context.Background(), serviceID) |
|
| 219 | 219 |
assert.NilError(t, err) |
| 220 | 220 |
} |
| 221 | 221 |
|
| ... | ... |
@@ -226,10 +231,10 @@ func TestServiceRemoveKeepsIngressNetwork(t *testing.T) {
|
| 226 | 226 |
defer setupTest(t)() |
| 227 | 227 |
d := swarm.NewSwarm(t, testEnv) |
| 228 | 228 |
defer d.Stop(t) |
| 229 |
- client := d.NewClientT(t) |
|
| 230 |
- defer client.Close() |
|
| 229 |
+ c := d.NewClientT(t) |
|
| 230 |
+ defer c.Close() |
|
| 231 | 231 |
|
| 232 |
- poll.WaitOn(t, swarmIngressReady(client), swarm.NetworkPoll) |
|
| 232 |
+ poll.WaitOn(t, swarmIngressReady(c), swarm.NetworkPoll) |
|
| 233 | 233 |
|
| 234 | 234 |
var instances uint64 = 1 |
| 235 | 235 |
|
| ... | ... |
@@ -247,20 +252,20 @@ func TestServiceRemoveKeepsIngressNetwork(t *testing.T) {
|
| 247 | 247 |
}), |
| 248 | 248 |
) |
| 249 | 249 |
|
| 250 |
- poll.WaitOn(t, serviceRunningCount(client, serviceID, instances), swarm.ServicePoll) |
|
| 250 |
+ poll.WaitOn(t, serviceRunningCount(c, serviceID, instances), swarm.ServicePoll) |
|
| 251 | 251 |
|
| 252 |
- _, _, err := client.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{})
|
|
| 252 |
+ _, _, err := c.ServiceInspectWithRaw(context.Background(), serviceID, types.ServiceInspectOptions{})
|
|
| 253 | 253 |
assert.NilError(t, err) |
| 254 | 254 |
|
| 255 |
- err = client.ServiceRemove(context.Background(), serviceID) |
|
| 255 |
+ err = c.ServiceRemove(context.Background(), serviceID) |
|
| 256 | 256 |
assert.NilError(t, err) |
| 257 | 257 |
|
| 258 |
- poll.WaitOn(t, serviceIsRemoved(client, serviceID), swarm.ServicePoll) |
|
| 259 |
- poll.WaitOn(t, noServices(client), swarm.ServicePoll) |
|
| 258 |
+ poll.WaitOn(t, serviceIsRemoved(c, serviceID), swarm.ServicePoll) |
|
| 259 |
+ poll.WaitOn(t, noServices(c), swarm.ServicePoll) |
|
| 260 | 260 |
|
| 261 | 261 |
// Ensure that "ingress" is not removed or corrupted |
| 262 | 262 |
time.Sleep(10 * time.Second) |
| 263 |
- netInfo, err := client.NetworkInspect(context.Background(), ingressNet, types.NetworkInspectOptions{
|
|
| 263 |
+ netInfo, err := c.NetworkInspect(context.Background(), ingressNet, types.NetworkInspectOptions{
|
|
| 264 | 264 |
Verbose: true, |
| 265 | 265 |
Scope: "swarm", |
| 266 | 266 |
}) |
| ... | ... |
@@ -330,12 +335,12 @@ func TestServiceWithDataPathPortInit(t *testing.T) {
|
| 330 | 330 |
ops = append(ops, daemon.WithSwarmDataPathPort(datapathPort)) |
| 331 | 331 |
d := swarm.NewSwarm(t, testEnv, ops...) |
| 332 | 332 |
|
| 333 |
- cli := d.NewClientT(t) |
|
| 334 |
- defer cli.Close() |
|
| 333 |
+ c := d.NewClientT(t) |
|
| 334 |
+ defer c.Close() |
|
| 335 | 335 |
|
| 336 | 336 |
// Create a overlay network |
| 337 | 337 |
name := "saanvisthira" + t.Name() |
| 338 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 338 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 339 | 339 |
network.WithDriver("overlay"))
|
| 340 | 340 |
|
| 341 | 341 |
var instances uint64 = 1 |
| ... | ... |
@@ -344,11 +349,11 @@ func TestServiceWithDataPathPortInit(t *testing.T) {
|
| 344 | 344 |
swarm.ServiceWithNetwork(name), |
| 345 | 345 |
) |
| 346 | 346 |
|
| 347 |
- poll.WaitOn(t, serviceRunningCount(cli, serviceID, instances), swarm.ServicePoll) |
|
| 347 |
+ poll.WaitOn(t, serviceRunningCount(c, serviceID, instances), swarm.ServicePoll) |
|
| 348 | 348 |
|
| 349 | 349 |
info := d.Info(t) |
| 350 | 350 |
assert.Equal(t, info.Swarm.Cluster.DataPathPort, datapathPort) |
| 351 |
- err := cli.ServiceRemove(context.Background(), serviceID) |
|
| 351 |
+ err := c.ServiceRemove(context.Background(), serviceID) |
|
| 352 | 352 |
assert.NilError(t, err) |
| 353 | 353 |
d.SwarmLeave(true) |
| 354 | 354 |
d.Stop(t) |
| ... | ... |
@@ -357,11 +362,11 @@ func TestServiceWithDataPathPortInit(t *testing.T) {
|
| 357 | 357 |
// call without datapath port option. |
| 358 | 358 |
ops = []func(*daemon.Daemon){}
|
| 359 | 359 |
d = swarm.NewSwarm(t, testEnv, ops...) |
| 360 |
- cli = d.NewClientT(t) |
|
| 360 |
+ c = d.NewClientT(t) |
|
| 361 | 361 |
|
| 362 | 362 |
// Create a overlay network |
| 363 | 363 |
name = "saanvisthira" + t.Name() |
| 364 |
- network.CreateNoError(t, context.Background(), cli, name, |
|
| 364 |
+ network.CreateNoError(t, context.Background(), c, name, |
|
| 365 | 365 |
network.WithDriver("overlay"))
|
| 366 | 366 |
|
| 367 | 367 |
serviceID = swarm.CreateService(t, d, |
| ... | ... |
@@ -369,12 +374,12 @@ func TestServiceWithDataPathPortInit(t *testing.T) {
|
| 369 | 369 |
swarm.ServiceWithNetwork(name), |
| 370 | 370 |
) |
| 371 | 371 |
|
| 372 |
- poll.WaitOn(t, serviceRunningCount(cli, serviceID, instances), swarm.ServicePoll) |
|
| 372 |
+ poll.WaitOn(t, serviceRunningCount(c, serviceID, instances), swarm.ServicePoll) |
|
| 373 | 373 |
|
| 374 | 374 |
info = d.Info(t) |
| 375 | 375 |
var defaultDataPathPort uint32 = 4789 |
| 376 | 376 |
assert.Equal(t, info.Swarm.Cluster.DataPathPort, defaultDataPathPort) |
| 377 |
- err = cli.ServiceRemove(context.Background(), serviceID) |
|
| 377 |
+ err = c.ServiceRemove(context.Background(), serviceID) |
|
| 378 | 378 |
assert.NilError(t, err) |
| 379 | 379 |
d.SwarmLeave(true) |
| 380 | 380 |
defer d.Stop(t) |
| ... | ... |
@@ -87,18 +87,16 @@ func TestAuthZPluginAllowRequest(t *testing.T) {
|
| 87 | 87 |
ctrl.resRes.Allow = true |
| 88 | 88 |
d.StartWithBusybox(t, "--authorization-plugin="+testAuthZPlugin) |
| 89 | 89 |
|
| 90 |
- client, err := d.NewClient() |
|
| 91 |
- assert.NilError(t, err) |
|
| 92 |
- |
|
| 90 |
+ c := d.NewClientT(t) |
|
| 93 | 91 |
ctx := context.Background() |
| 94 | 92 |
|
| 95 | 93 |
// Ensure command successful |
| 96 |
- cID := container.Run(t, ctx, client) |
|
| 94 |
+ cID := container.Run(t, ctx, c) |
|
| 97 | 95 |
|
| 98 | 96 |
assertURIRecorded(t, ctrl.requestsURIs, "/containers/create") |
| 99 | 97 |
assertURIRecorded(t, ctrl.requestsURIs, fmt.Sprintf("/containers/%s/start", cID))
|
| 100 | 98 |
|
| 101 |
- _, err = client.ServerVersion(ctx) |
|
| 99 |
+ _, err := c.ServerVersion(ctx) |
|
| 102 | 100 |
assert.NilError(t, err) |
| 103 | 101 |
assert.Equal(t, 1, ctrl.versionReqCount) |
| 104 | 102 |
assert.Equal(t, 1, ctrl.versionResCount) |
| ... | ... |
@@ -126,10 +124,10 @@ func TestAuthZPluginTLS(t *testing.T) {
|
| 126 | 126 |
ctrl.reqRes.Allow = true |
| 127 | 127 |
ctrl.resRes.Allow = true |
| 128 | 128 |
|
| 129 |
- client, err := newTLSAPIClient(testDaemonHTTPSAddr, cacertPath, clientCertPath, clientKeyPath) |
|
| 129 |
+ c, err := newTLSAPIClient(testDaemonHTTPSAddr, cacertPath, clientCertPath, clientKeyPath) |
|
| 130 | 130 |
assert.NilError(t, err) |
| 131 | 131 |
|
| 132 |
- _, err = client.ServerVersion(context.Background()) |
|
| 132 |
+ _, err = c.ServerVersion(context.Background()) |
|
| 133 | 133 |
assert.NilError(t, err) |
| 134 | 134 |
|
| 135 | 135 |
assert.Equal(t, "client", ctrl.reqUser) |
| ... | ... |
@@ -153,11 +151,10 @@ func TestAuthZPluginDenyRequest(t *testing.T) {
|
| 153 | 153 |
ctrl.reqRes.Allow = false |
| 154 | 154 |
ctrl.reqRes.Msg = unauthorizedMessage |
| 155 | 155 |
|
| 156 |
- client, err := d.NewClient() |
|
| 157 |
- assert.NilError(t, err) |
|
| 156 |
+ c := d.NewClientT(t) |
|
| 158 | 157 |
|
| 159 | 158 |
// Ensure command is blocked |
| 160 |
- _, err = client.ServerVersion(context.Background()) |
|
| 159 |
+ _, err := c.ServerVersion(context.Background()) |
|
| 161 | 160 |
assert.Assert(t, err != nil) |
| 162 | 161 |
assert.Equal(t, 1, ctrl.versionReqCount) |
| 163 | 162 |
assert.Equal(t, 0, ctrl.versionResCount) |
| ... | ... |
@@ -179,10 +176,10 @@ func TestAuthZPluginAPIDenyResponse(t *testing.T) {
|
| 179 | 179 |
|
| 180 | 180 |
conn, err := net.DialTimeout(daemonURL.Scheme, daemonURL.Path, time.Second*10) |
| 181 | 181 |
assert.NilError(t, err) |
| 182 |
- client := httputil.NewClientConn(conn, nil) |
|
| 182 |
+ c := httputil.NewClientConn(conn, nil) |
|
| 183 | 183 |
req, err := http.NewRequest("GET", "/version", nil)
|
| 184 | 184 |
assert.NilError(t, err) |
| 185 |
- resp, err := client.Do(req) |
|
| 185 |
+ resp, err := c.Do(req) |
|
| 186 | 186 |
|
| 187 | 187 |
assert.NilError(t, err) |
| 188 | 188 |
assert.DeepEqual(t, http.StatusForbidden, resp.StatusCode) |
| ... | ... |
@@ -195,11 +192,10 @@ func TestAuthZPluginDenyResponse(t *testing.T) {
|
| 195 | 195 |
ctrl.resRes.Allow = false |
| 196 | 196 |
ctrl.resRes.Msg = unauthorizedMessage |
| 197 | 197 |
|
| 198 |
- client, err := d.NewClient() |
|
| 199 |
- assert.NilError(t, err) |
|
| 198 |
+ c := d.NewClientT(t) |
|
| 200 | 199 |
|
| 201 | 200 |
// Ensure command is blocked |
| 202 |
- _, err = client.ServerVersion(context.Background()) |
|
| 201 |
+ _, err := c.ServerVersion(context.Background()) |
|
| 203 | 202 |
assert.Assert(t, err != nil) |
| 204 | 203 |
assert.Equal(t, 1, ctrl.versionReqCount) |
| 205 | 204 |
assert.Equal(t, 1, ctrl.versionResCount) |
| ... | ... |
@@ -219,20 +215,18 @@ func TestAuthZPluginAllowEventStream(t *testing.T) {
|
| 219 | 219 |
ctrl.resRes.Allow = true |
| 220 | 220 |
d.StartWithBusybox(t, "--authorization-plugin="+testAuthZPlugin) |
| 221 | 221 |
|
| 222 |
- client, err := d.NewClient() |
|
| 223 |
- assert.NilError(t, err) |
|
| 224 |
- |
|
| 222 |
+ c := d.NewClientT(t) |
|
| 225 | 223 |
ctx := context.Background() |
| 226 | 224 |
|
| 227 |
- startTime := strconv.FormatInt(systemTime(t, client, testEnv).Unix(), 10) |
|
| 228 |
- events, errs, cancel := systemEventsSince(client, startTime) |
|
| 225 |
+ startTime := strconv.FormatInt(systemTime(t, c, testEnv).Unix(), 10) |
|
| 226 |
+ events, errs, cancel := systemEventsSince(c, startTime) |
|
| 229 | 227 |
defer cancel() |
| 230 | 228 |
|
| 231 | 229 |
// Create a container and wait for the creation events |
| 232 |
- cID := container.Run(t, ctx, client) |
|
| 230 |
+ cID := container.Run(t, ctx, c) |
|
| 233 | 231 |
|
| 234 | 232 |
for i := 0; i < 100; i++ {
|
| 235 |
- c, err := client.ContainerInspect(ctx, cID) |
|
| 233 |
+ c, err := c.ContainerInspect(ctx, cID) |
|
| 236 | 234 |
assert.NilError(t, err) |
| 237 | 235 |
if c.State.Running {
|
| 238 | 236 |
break |
| ... | ... |
@@ -304,11 +298,10 @@ func TestAuthZPluginErrorResponse(t *testing.T) {
|
| 304 | 304 |
ctrl.reqRes.Allow = true |
| 305 | 305 |
ctrl.resRes.Err = errorMessage |
| 306 | 306 |
|
| 307 |
- client, err := d.NewClient() |
|
| 308 |
- assert.NilError(t, err) |
|
| 307 |
+ c := d.NewClientT(t) |
|
| 309 | 308 |
|
| 310 | 309 |
// Ensure command is blocked |
| 311 |
- _, err = client.ServerVersion(context.Background()) |
|
| 310 |
+ _, err := c.ServerVersion(context.Background()) |
|
| 312 | 311 |
assert.Assert(t, err != nil) |
| 313 | 312 |
assert.Equal(t, fmt.Sprintf("Error response from daemon: plugin %s failed with error: %s: %s", testAuthZPlugin, authorization.AuthZApiResponse, errorMessage), err.Error())
|
| 314 | 313 |
} |
| ... | ... |
@@ -318,11 +311,10 @@ func TestAuthZPluginErrorRequest(t *testing.T) {
|
| 318 | 318 |
d.Start(t, "--authorization-plugin="+testAuthZPlugin) |
| 319 | 319 |
ctrl.reqRes.Err = errorMessage |
| 320 | 320 |
|
| 321 |
- client, err := d.NewClient() |
|
| 322 |
- assert.NilError(t, err) |
|
| 321 |
+ c := d.NewClientT(t) |
|
| 323 | 322 |
|
| 324 | 323 |
// Ensure command is blocked |
| 325 |
- _, err = client.ServerVersion(context.Background()) |
|
| 324 |
+ _, err := c.ServerVersion(context.Background()) |
|
| 326 | 325 |
assert.Assert(t, err != nil) |
| 327 | 326 |
assert.Equal(t, fmt.Sprintf("Error response from daemon: plugin %s failed with error: %s: %s", testAuthZPlugin, authorization.AuthZApiRequest, errorMessage), err.Error())
|
| 328 | 327 |
} |
| ... | ... |
@@ -334,10 +326,9 @@ func TestAuthZPluginEnsureNoDuplicatePluginRegistration(t *testing.T) {
|
| 334 | 334 |
ctrl.reqRes.Allow = true |
| 335 | 335 |
ctrl.resRes.Allow = true |
| 336 | 336 |
|
| 337 |
- client, err := d.NewClient() |
|
| 338 |
- assert.NilError(t, err) |
|
| 337 |
+ c := d.NewClientT(t) |
|
| 339 | 338 |
|
| 340 |
- _, err = client.ServerVersion(context.Background()) |
|
| 339 |
+ _, err := c.ServerVersion(context.Background()) |
|
| 341 | 340 |
assert.NilError(t, err) |
| 342 | 341 |
|
| 343 | 342 |
// assert plugin is only called once.. |
| ... | ... |
@@ -351,9 +342,7 @@ func TestAuthZPluginEnsureLoadImportWorking(t *testing.T) {
|
| 351 | 351 |
ctrl.resRes.Allow = true |
| 352 | 352 |
d.StartWithBusybox(t, "--authorization-plugin="+testAuthZPlugin, "--authorization-plugin="+testAuthZPlugin) |
| 353 | 353 |
|
| 354 |
- client, err := d.NewClient() |
|
| 355 |
- assert.NilError(t, err) |
|
| 356 |
- |
|
| 354 |
+ c := d.NewClientT(t) |
|
| 357 | 355 |
ctx := context.Background() |
| 358 | 356 |
|
| 359 | 357 |
tmp, err := ioutil.TempDir("", "test-authz-load-import")
|
| ... | ... |
@@ -362,16 +351,16 @@ func TestAuthZPluginEnsureLoadImportWorking(t *testing.T) {
|
| 362 | 362 |
|
| 363 | 363 |
savedImagePath := filepath.Join(tmp, "save.tar") |
| 364 | 364 |
|
| 365 |
- err = imageSave(client, savedImagePath, "busybox") |
|
| 365 |
+ err = imageSave(c, savedImagePath, "busybox") |
|
| 366 | 366 |
assert.NilError(t, err) |
| 367 |
- err = imageLoad(client, savedImagePath) |
|
| 367 |
+ err = imageLoad(c, savedImagePath) |
|
| 368 | 368 |
assert.NilError(t, err) |
| 369 | 369 |
|
| 370 | 370 |
exportedImagePath := filepath.Join(tmp, "export.tar") |
| 371 | 371 |
|
| 372 |
- cID := container.Run(t, ctx, client) |
|
| 372 |
+ cID := container.Run(t, ctx, c) |
|
| 373 | 373 |
|
| 374 |
- responseReader, err := client.ContainerExport(context.Background(), cID) |
|
| 374 |
+ responseReader, err := c.ContainerExport(context.Background(), cID) |
|
| 375 | 375 |
assert.NilError(t, err) |
| 376 | 376 |
defer responseReader.Close() |
| 377 | 377 |
file, err := os.Create(exportedImagePath) |
| ... | ... |
@@ -380,7 +369,7 @@ func TestAuthZPluginEnsureLoadImportWorking(t *testing.T) {
|
| 380 | 380 |
_, err = io.Copy(file, responseReader) |
| 381 | 381 |
assert.NilError(t, err) |
| 382 | 382 |
|
| 383 |
- err = imageImport(client, exportedImagePath) |
|
| 383 |
+ err = imageImport(c, exportedImagePath) |
|
| 384 | 384 |
assert.NilError(t, err) |
| 385 | 385 |
} |
| 386 | 386 |
|
| ... | ... |
@@ -406,12 +395,11 @@ func TestAuthzPluginEnsureContainerCopyToFrom(t *testing.T) {
|
| 406 | 406 |
written += n |
| 407 | 407 |
} |
| 408 | 408 |
|
| 409 |
+ c := d.NewClientT(t) |
|
| 409 | 410 |
ctx := context.Background() |
| 410 |
- client, err := d.NewClient() |
|
| 411 |
- assert.Assert(t, err) |
|
| 412 | 411 |
|
| 413 |
- cID := container.Run(t, ctx, client) |
|
| 414 |
- defer client.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
|
|
| 412 |
+ cID := container.Run(t, ctx, c) |
|
| 413 |
+ defer c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
|
|
| 415 | 414 |
|
| 416 | 415 |
_, err = f.Seek(0, io.SeekStart) |
| 417 | 416 |
assert.Assert(t, err) |
| ... | ... |
@@ -425,10 +413,10 @@ func TestAuthzPluginEnsureContainerCopyToFrom(t *testing.T) {
|
| 425 | 425 |
dstDir, preparedArchive, err := archive.PrepareArchiveCopy(srcArchive, srcInfo, archive.CopyInfo{Path: "/test"})
|
| 426 | 426 |
assert.Assert(t, err) |
| 427 | 427 |
|
| 428 |
- err = client.CopyToContainer(ctx, cID, dstDir, preparedArchive, types.CopyToContainerOptions{})
|
|
| 428 |
+ err = c.CopyToContainer(ctx, cID, dstDir, preparedArchive, types.CopyToContainerOptions{})
|
|
| 429 | 429 |
assert.Assert(t, err) |
| 430 | 430 |
|
| 431 |
- rdr, _, err := client.CopyFromContainer(ctx, cID, "/test") |
|
| 431 |
+ rdr, _, err := c.CopyFromContainer(ctx, cID, "/test") |
|
| 432 | 432 |
assert.Assert(t, err) |
| 433 | 433 |
_, err = io.Copy(ioutil.Discard, rdr) |
| 434 | 434 |
assert.Assert(t, err) |
| ... | ... |
@@ -43,13 +43,11 @@ func TestAuthZPluginV2AllowNonVolumeRequest(t *testing.T) {
|
| 43 | 43 |
skip.If(t, os.Getenv("DOCKER_ENGINE_GOARCH") != "amd64")
|
| 44 | 44 |
defer setupTestV2(t)() |
| 45 | 45 |
|
| 46 |
- client, err := d.NewClient() |
|
| 47 |
- assert.NilError(t, err) |
|
| 48 |
- |
|
| 46 |
+ c := d.NewClientT(t) |
|
| 49 | 47 |
ctx := context.Background() |
| 50 | 48 |
|
| 51 | 49 |
// Install authz plugin |
| 52 |
- err = pluginInstallGrantAllPermissions(client, authzPluginNameWithTag) |
|
| 50 |
+ err := pluginInstallGrantAllPermissions(c, authzPluginNameWithTag) |
|
| 53 | 51 |
assert.NilError(t, err) |
| 54 | 52 |
// start the daemon with the plugin and load busybox, --net=none build fails otherwise |
| 55 | 53 |
// because it needs to pull busybox |
| ... | ... |
@@ -57,9 +55,9 @@ func TestAuthZPluginV2AllowNonVolumeRequest(t *testing.T) {
|
| 57 | 57 |
d.LoadBusybox(t) |
| 58 | 58 |
|
| 59 | 59 |
// Ensure docker run command and accompanying docker ps are successful |
| 60 |
- cID := container.Run(t, ctx, client) |
|
| 60 |
+ cID := container.Run(t, ctx, c) |
|
| 61 | 61 |
|
| 62 |
- _, err = client.ContainerInspect(ctx, cID) |
|
| 62 |
+ _, err = c.ContainerInspect(ctx, cID) |
|
| 63 | 63 |
assert.NilError(t, err) |
| 64 | 64 |
} |
| 65 | 65 |
|
| ... | ... |
@@ -67,26 +65,25 @@ func TestAuthZPluginV2Disable(t *testing.T) {
|
| 67 | 67 |
skip.If(t, os.Getenv("DOCKER_ENGINE_GOARCH") != "amd64")
|
| 68 | 68 |
defer setupTestV2(t)() |
| 69 | 69 |
|
| 70 |
- client, err := d.NewClient() |
|
| 71 |
- assert.NilError(t, err) |
|
| 70 |
+ c := d.NewClientT(t) |
|
| 72 | 71 |
|
| 73 | 72 |
// Install authz plugin |
| 74 |
- err = pluginInstallGrantAllPermissions(client, authzPluginNameWithTag) |
|
| 73 |
+ err := pluginInstallGrantAllPermissions(c, authzPluginNameWithTag) |
|
| 75 | 74 |
assert.NilError(t, err) |
| 76 | 75 |
|
| 77 | 76 |
d.Restart(t, "--authorization-plugin="+authzPluginNameWithTag) |
| 78 | 77 |
d.LoadBusybox(t) |
| 79 | 78 |
|
| 80 |
- _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 79 |
+ _, err = c.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 81 | 80 |
assert.Assert(t, err != nil) |
| 82 | 81 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 83 | 82 |
|
| 84 | 83 |
// disable the plugin |
| 85 |
- err = client.PluginDisable(context.Background(), authzPluginNameWithTag, types.PluginDisableOptions{})
|
|
| 84 |
+ err = c.PluginDisable(context.Background(), authzPluginNameWithTag, types.PluginDisableOptions{})
|
|
| 86 | 85 |
assert.NilError(t, err) |
| 87 | 86 |
|
| 88 | 87 |
// now test to see if the docker api works. |
| 89 |
- _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 88 |
+ _, err = c.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 90 | 89 |
assert.NilError(t, err) |
| 91 | 90 |
} |
| 92 | 91 |
|
| ... | ... |
@@ -94,34 +91,33 @@ func TestAuthZPluginV2RejectVolumeRequests(t *testing.T) {
|
| 94 | 94 |
skip.If(t, os.Getenv("DOCKER_ENGINE_GOARCH") != "amd64")
|
| 95 | 95 |
defer setupTestV2(t)() |
| 96 | 96 |
|
| 97 |
- client, err := d.NewClient() |
|
| 98 |
- assert.NilError(t, err) |
|
| 97 |
+ c := d.NewClientT(t) |
|
| 99 | 98 |
|
| 100 | 99 |
// Install authz plugin |
| 101 |
- err = pluginInstallGrantAllPermissions(client, authzPluginNameWithTag) |
|
| 100 |
+ err := pluginInstallGrantAllPermissions(c, authzPluginNameWithTag) |
|
| 102 | 101 |
assert.NilError(t, err) |
| 103 | 102 |
|
| 104 | 103 |
// restart the daemon with the plugin |
| 105 | 104 |
d.Restart(t, "--authorization-plugin="+authzPluginNameWithTag) |
| 106 | 105 |
|
| 107 |
- _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 106 |
+ _, err = c.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"})
|
|
| 108 | 107 |
assert.Assert(t, err != nil) |
| 109 | 108 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 110 | 109 |
|
| 111 |
- _, err = client.VolumeList(context.Background(), filters.Args{})
|
|
| 110 |
+ _, err = c.VolumeList(context.Background(), filters.Args{})
|
|
| 112 | 111 |
assert.Assert(t, err != nil) |
| 113 | 112 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 114 | 113 |
|
| 115 | 114 |
// The plugin will block the command before it can determine the volume does not exist |
| 116 |
- err = client.VolumeRemove(context.Background(), "test", false) |
|
| 115 |
+ err = c.VolumeRemove(context.Background(), "test", false) |
|
| 117 | 116 |
assert.Assert(t, err != nil) |
| 118 | 117 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 119 | 118 |
|
| 120 |
- _, err = client.VolumeInspect(context.Background(), "test") |
|
| 119 |
+ _, err = c.VolumeInspect(context.Background(), "test") |
|
| 121 | 120 |
assert.Assert(t, err != nil) |
| 122 | 121 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 123 | 122 |
|
| 124 |
- _, err = client.VolumesPrune(context.Background(), filters.Args{})
|
|
| 123 |
+ _, err = c.VolumesPrune(context.Background(), filters.Args{})
|
|
| 125 | 124 |
assert.Assert(t, err != nil) |
| 126 | 125 |
assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag)))
|
| 127 | 126 |
} |
| ... | ... |
@@ -130,11 +126,10 @@ func TestAuthZPluginV2BadManifestFailsDaemonStart(t *testing.T) {
|
| 130 | 130 |
skip.If(t, os.Getenv("DOCKER_ENGINE_GOARCH") != "amd64")
|
| 131 | 131 |
defer setupTestV2(t)() |
| 132 | 132 |
|
| 133 |
- client, err := d.NewClient() |
|
| 134 |
- assert.NilError(t, err) |
|
| 133 |
+ c := d.NewClientT(t) |
|
| 135 | 134 |
|
| 136 | 135 |
// Install authz plugin with bad manifest |
| 137 |
- err = pluginInstallGrantAllPermissions(client, authzPluginBadManifestName) |
|
| 136 |
+ err := pluginInstallGrantAllPermissions(c, authzPluginBadManifestName) |
|
| 138 | 137 |
assert.NilError(t, err) |
| 139 | 138 |
|
| 140 | 139 |
// start the daemon with the plugin, it will error |
| ... | ... |
@@ -24,14 +24,13 @@ func TestDaemonStartWithLogOpt(t *testing.T) {
|
| 24 | 24 |
d.Start(t, "--iptables=false") |
| 25 | 25 |
defer d.Stop(t) |
| 26 | 26 |
|
| 27 |
- client, err := d.NewClient() |
|
| 28 |
- assert.Check(t, err) |
|
| 27 |
+ c := d.NewClientT(t) |
|
| 29 | 28 |
ctx := context.Background() |
| 30 | 29 |
|
| 31 |
- createPlugin(t, client, "test", "dummy", asLogDriver) |
|
| 32 |
- err = client.PluginEnable(ctx, "test", types.PluginEnableOptions{Timeout: 30})
|
|
| 30 |
+ createPlugin(t, c, "test", "dummy", asLogDriver) |
|
| 31 |
+ err := c.PluginEnable(ctx, "test", types.PluginEnableOptions{Timeout: 30})
|
|
| 33 | 32 |
assert.Check(t, err) |
| 34 |
- defer client.PluginRemove(ctx, "test", types.PluginRemoveOptions{Force: true})
|
|
| 33 |
+ defer c.PluginRemove(ctx, "test", types.PluginRemoveOptions{Force: true})
|
|
| 35 | 34 |
|
| 36 | 35 |
d.Stop(t) |
| 37 | 36 |
d.Start(t, "--iptables=false", "--log-driver=test", "--log-opt=foo=bar") |
| ... | ... |
@@ -24,15 +24,14 @@ func TestPluginWithDevMounts(t *testing.T) {
|
| 24 | 24 |
d.Start(t, "--iptables=false") |
| 25 | 25 |
defer d.Stop(t) |
| 26 | 26 |
|
| 27 |
- client, err := d.NewClient() |
|
| 28 |
- assert.Assert(t, err) |
|
| 27 |
+ c := d.NewClientT(t) |
|
| 29 | 28 |
ctx := context.Background() |
| 30 | 29 |
|
| 31 | 30 |
testDir, err := ioutil.TempDir("", "test-dir")
|
| 32 | 31 |
assert.Assert(t, err) |
| 33 | 32 |
defer os.RemoveAll(testDir) |
| 34 | 33 |
|
| 35 |
- createPlugin(t, client, "test", "dummy", asVolumeDriver, func(c *plugin.Config) {
|
|
| 34 |
+ createPlugin(t, c, "test", "dummy", asVolumeDriver, func(c *plugin.Config) {
|
|
| 36 | 35 |
root := "/" |
| 37 | 36 |
dev := "/dev" |
| 38 | 37 |
mounts := []types.PluginMount{
|
| ... | ... |
@@ -46,14 +45,14 @@ func TestPluginWithDevMounts(t *testing.T) {
|
| 46 | 46 |
c.IpcHost = true |
| 47 | 47 |
}) |
| 48 | 48 |
|
| 49 |
- err = client.PluginEnable(ctx, "test", types.PluginEnableOptions{Timeout: 30})
|
|
| 49 |
+ err = c.PluginEnable(ctx, "test", types.PluginEnableOptions{Timeout: 30})
|
|
| 50 | 50 |
assert.Assert(t, err) |
| 51 | 51 |
defer func() {
|
| 52 |
- err := client.PluginRemove(ctx, "test", types.PluginRemoveOptions{Force: true})
|
|
| 52 |
+ err := c.PluginRemove(ctx, "test", types.PluginRemoveOptions{Force: true})
|
|
| 53 | 53 |
assert.Check(t, err) |
| 54 | 54 |
}() |
| 55 | 55 |
|
| 56 |
- p, _, err := client.PluginInspectWithRaw(ctx, "test") |
|
| 56 |
+ p, _, err := c.PluginInspectWithRaw(ctx, "test") |
|
| 57 | 57 |
assert.Assert(t, err) |
| 58 | 58 |
assert.Assert(t, p.Enabled) |
| 59 | 59 |
} |
| ... | ... |
@@ -36,23 +36,23 @@ func TestCgroupDriverSystemdMemoryLimit(t *testing.T) {
|
| 36 | 36 |
} |
| 37 | 37 |
|
| 38 | 38 |
d := daemon.New(t) |
| 39 |
- client, err := d.NewClient() |
|
| 40 |
- assert.NilError(t, err) |
|
| 39 |
+ c := d.NewClientT(t) |
|
| 40 |
+ |
|
| 41 | 41 |
d.StartWithBusybox(t, "--exec-opt", "native.cgroupdriver=systemd", "--iptables=false") |
| 42 | 42 |
defer d.Stop(t) |
| 43 | 43 |
|
| 44 | 44 |
const mem = 64 * 1024 * 1024 // 64 MB |
| 45 | 45 |
|
| 46 | 46 |
ctx := context.Background() |
| 47 |
- ctrID := container.Create(t, ctx, client, func(c *container.TestContainerConfig) {
|
|
| 48 |
- c.HostConfig.Resources.Memory = mem |
|
| 47 |
+ ctrID := container.Create(t, ctx, c, func(ctr *container.TestContainerConfig) {
|
|
| 48 |
+ ctr.HostConfig.Resources.Memory = mem |
|
| 49 | 49 |
}) |
| 50 |
- defer client.ContainerRemove(ctx, ctrID, types.ContainerRemoveOptions{Force: true})
|
|
| 50 |
+ defer c.ContainerRemove(ctx, ctrID, types.ContainerRemoveOptions{Force: true})
|
|
| 51 | 51 |
|
| 52 |
- err = client.ContainerStart(ctx, ctrID, types.ContainerStartOptions{})
|
|
| 52 |
+ err := c.ContainerStart(ctx, ctrID, types.ContainerStartOptions{})
|
|
| 53 | 53 |
assert.NilError(t, err) |
| 54 | 54 |
|
| 55 |
- s, err := client.ContainerInspect(ctx, ctrID) |
|
| 55 |
+ s, err := c.ContainerInspect(ctx, ctrID) |
|
| 56 | 56 |
assert.NilError(t, err) |
| 57 | 57 |
assert.Equal(t, s.HostConfig.Memory, mem) |
| 58 | 58 |
} |
| ... | ... |
@@ -46,14 +46,12 @@ func TestInfoAPI(t *testing.T) {
|
| 46 | 46 |
func TestInfoAPIWarnings(t *testing.T) {
|
| 47 | 47 |
skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") |
| 48 | 48 |
d := daemon.New(t) |
| 49 |
- |
|
| 50 |
- client, err := d.NewClient() |
|
| 51 |
- assert.NilError(t, err) |
|
| 49 |
+ c := d.NewClientT(t) |
|
| 52 | 50 |
|
| 53 | 51 |
d.StartWithBusybox(t, "-H=0.0.0.0:23756", "-H="+d.Sock()) |
| 54 | 52 |
defer d.Stop(t) |
| 55 | 53 |
|
| 56 |
- info, err := client.Info(context.Background()) |
|
| 54 |
+ info, err := c.Info(context.Background()) |
|
| 57 | 55 |
assert.NilError(t, err) |
| 58 | 56 |
|
| 59 | 57 |
stringsToCheck := []string{
|
| ... | ... |
@@ -568,11 +568,10 @@ func (d *Daemon) LoadBusybox(t assert.TestingT) {
|
| 568 | 568 |
assert.NilError(t, err, "failed to download busybox") |
| 569 | 569 |
defer reader.Close() |
| 570 | 570 |
|
| 571 |
- client, err := d.NewClient() |
|
| 572 |
- assert.NilError(t, err, "failed to create client") |
|
| 573 |
- defer client.Close() |
|
| 571 |
+ c := d.NewClientT(t) |
|
| 572 |
+ defer c.Close() |
|
| 574 | 573 |
|
| 575 |
- resp, err := client.ImageLoad(ctx, reader, true) |
|
| 574 |
+ resp, err := c.ImageLoad(ctx, reader, true) |
|
| 576 | 575 |
assert.NilError(t, err, "failed to load busybox") |
| 577 | 576 |
defer resp.Body.Close() |
| 578 | 577 |
} |
| ... | ... |
@@ -632,7 +631,7 @@ func (d *Daemon) queryRootDir() (string, error) {
|
| 632 | 632 |
return "", err |
| 633 | 633 |
} |
| 634 | 634 |
|
| 635 |
- client := &http.Client{
|
|
| 635 |
+ c := &http.Client{
|
|
| 636 | 636 |
Transport: clientConfig.transport, |
| 637 | 637 |
} |
| 638 | 638 |
|
| ... | ... |
@@ -644,7 +643,7 @@ func (d *Daemon) queryRootDir() (string, error) {
|
| 644 | 644 |
req.URL.Host = clientConfig.addr |
| 645 | 645 |
req.URL.Scheme = clientConfig.scheme |
| 646 | 646 |
|
| 647 |
- resp, err := client.Do(req) |
|
| 647 |
+ resp, err := c.Do(req) |
|
| 648 | 648 |
if err != nil {
|
| 649 | 649 |
return "", err |
| 650 | 650 |
} |
| ... | ... |
@@ -672,9 +671,8 @@ func (d *Daemon) Info(t assert.TestingT) types.Info {
|
| 672 | 672 |
if ht, ok := t.(test.HelperT); ok {
|
| 673 | 673 |
ht.Helper() |
| 674 | 674 |
} |
| 675 |
- apiclient, err := d.NewClient() |
|
| 676 |
- assert.NilError(t, err) |
|
| 677 |
- info, err := apiclient.Info(context.Background()) |
|
| 675 |
+ c := d.NewClientT(t) |
|
| 676 |
+ info, err := c.Info(context.Background()) |
|
| 678 | 677 |
assert.NilError(t, err) |
| 679 | 678 |
return info |
| 680 | 679 |
} |