Browse code

integration: add/use WithRestartPolicy

NOTE TestUpdateRestartPolicy is left as is as otherwise
it will decrease its readability.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

Kir Kolyshkin authored on 2019/02/15 09:03:26
Showing 3 changed files
... ...
@@ -5,7 +5,6 @@ import (
5 5
 	"testing"
6 6
 	"time"
7 7
 
8
-	containertypes "github.com/docker/docker/api/types/container"
9 8
 	"github.com/docker/docker/client"
10 9
 	"github.com/docker/docker/integration/internal/container"
11 10
 	"github.com/docker/docker/internal/test/request"
... ...
@@ -96,12 +95,11 @@ func TestKillWithStopSignalAndRestartPolicies(t *testing.T) {
96 96
 		tc := tc
97 97
 		t.Run(tc.doc, func(t *testing.T) {
98 98
 			ctx := context.Background()
99
-			id := container.Run(t, ctx, client, func(c *container.TestContainerConfig) {
100
-				c.Config.StopSignal = tc.stopsignal
101
-				c.HostConfig.RestartPolicy = containertypes.RestartPolicy{
102
-					Name: "always",
103
-				}
104
-			})
99
+			id := container.Run(t, ctx, client,
100
+				container.WithRestartPolicy("always"),
101
+				func(c *container.TestContainerConfig) {
102
+					c.Config.StopSignal = tc.stopsignal
103
+				})
105 104
 			err := client.ContainerKill(ctx, id, "TERM")
106 105
 			assert.NilError(t, err)
107 106
 
... ...
@@ -17,9 +17,11 @@ func TestStopContainerWithRestartPolicyAlways(t *testing.T) {
17 17
 
18 18
 	names := []string{"verifyRestart1-" + t.Name(), "verifyRestart2-" + t.Name()}
19 19
 	for _, name := range names {
20
-		container.Run(t, ctx, client, container.WithName(name), container.WithCmd("false"), func(c *container.TestContainerConfig) {
21
-			c.HostConfig.RestartPolicy.Name = "always"
22
-		})
20
+		container.Run(t, ctx, client,
21
+			container.WithName(name),
22
+			container.WithCmd("false"),
23
+			container.WithRestartPolicy("always"),
24
+		)
23 25
 	}
24 26
 
25 27
 	for _, name := range names {
... ...
@@ -136,3 +136,10 @@ func WithLogDriver(driver string) func(*TestContainerConfig) {
136 136
 func WithAutoRemove(c *TestContainerConfig) {
137 137
 	c.HostConfig.AutoRemove = true
138 138
 }
139
+
140
+// WithRestartPolicy sets container's restart policy
141
+func WithRestartPolicy(policy string) func(c *TestContainerConfig) {
142
+	return func(c *TestContainerConfig) {
143
+		c.HostConfig.RestartPolicy.Name = policy
144
+	}
145
+}