Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 81e475c

Browse files
authored
Merge pull request #658 from eunomie/fix-image-tag-test
Fix image tag test
2 parents 0665684 + eeb3270 commit 81e475c

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

e2e/images_test.go

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ func TestImageTag(t *testing.T) {
9999
dir := fs.NewDir(t, "")
100100
defer dir.Remove()
101101

102+
dockerAppImageTag := func(args ...string) {
103+
cmdArgs := append([]string{"app", "image", "tag"}, args...)
104+
cmd.Command = dockerCli.Command(cmdArgs...)
105+
}
106+
102107
// given a first available image
103108
cmd.Command = dockerCli.Command("app", "bundle", filepath.Join("testdata", "simple", "simple.dockerapp"), "--tag", "a-simple-app", "--output", dir.Join("simple-bundle.json"))
104109
icmd.RunCmd(cmd).Assert(t, icmd.Success)
@@ -109,31 +114,43 @@ a-simple-app:latest simple
109114
expectImageListOutput(t, cmd, singleImageExpectation)
110115

111116
// with no argument
112-
cmd.Command = dockerCli.Command("app", "bundle", "tag")
113-
icmd.RunCmd(cmd).Assert(t, icmd.Expected{ExitCode: 1})
117+
dockerAppImageTag()
118+
icmd.RunCmd(cmd).Assert(t, icmd.Expected{
119+
ExitCode: 1,
120+
Err: `"docker app image tag" requires exactly 2 arguments.`,
121+
})
114122

115123
// with one argument
116-
cmd.Command = dockerCli.Command("app", "bundle", "tag", "a-simple-app")
117-
icmd.RunCmd(cmd).Assert(t, icmd.Expected{ExitCode: 1})
124+
dockerAppImageTag("a-simple-app")
125+
icmd.RunCmd(cmd).Assert(t, icmd.Expected{
126+
ExitCode: 1,
127+
Err: `"docker app image tag" requires exactly 2 arguments.`,
128+
})
118129

119130
// with invalid src reference
120-
cmd.Command = dockerCli.Command("app", "bundle", "tag", "a-simple-app$2", "b-simple-app")
121-
icmd.RunCmd(cmd).Assert(t, icmd.Expected{ExitCode: 1})
131+
dockerAppImageTag("a-simple-app$2", "b-simple-app")
132+
icmd.RunCmd(cmd).Assert(t, icmd.Expected{
133+
ExitCode: 1,
134+
Err: `could not parse 'a-simple-app$2' as a valid reference: invalid reference format`,
135+
})
122136

123137
// with invalid target reference
124-
cmd.Command = dockerCli.Command("app", "bundle", "tag", "a-simple-app", "b@simple-app")
125-
icmd.RunCmd(cmd).Assert(t, icmd.Expected{ExitCode: 1})
138+
dockerAppImageTag("a-simple-app", "b@simple-app")
139+
icmd.RunCmd(cmd).Assert(t, icmd.Expected{
140+
ExitCode: 1,
141+
Err: `could not parse 'b@simple-app' as a valid reference: invalid reference format`,
142+
})
126143

127144
// tag image with only names
128-
cmd.Command = dockerCli.Command("app", "image", "tag", "a-simple-app", "b-simple-app")
145+
dockerAppImageTag("a-simple-app", "b-simple-app")
129146
icmd.RunCmd(cmd).Assert(t, icmd.Success)
130147
expectImageListOutput(t, cmd, `APP IMAGE APP NAME
131148
a-simple-app:latest simple
132149
b-simple-app:latest simple
133150
`)
134151

135152
// target tag
136-
cmd.Command = dockerCli.Command("app", "image", "tag", "a-simple-app", "a-simple-app:0.1")
153+
dockerAppImageTag("a-simple-app", "a-simple-app:0.1")
137154
icmd.RunCmd(cmd).Assert(t, icmd.Success)
138155
expectImageListOutput(t, cmd, `APP IMAGE APP NAME
139156
a-simple-app:0.1 simple
@@ -142,7 +159,7 @@ b-simple-app:latest simple
142159
`)
143160

144161
// source tag
145-
cmd.Command = dockerCli.Command("app", "image", "tag", "a-simple-app:0.1", "c-simple-app")
162+
dockerAppImageTag("a-simple-app:0.1", "c-simple-app")
146163
icmd.RunCmd(cmd).Assert(t, icmd.Success)
147164
expectImageListOutput(t, cmd, `APP IMAGE APP NAME
148165
a-simple-app:0.1 simple
@@ -152,7 +169,7 @@ c-simple-app:latest simple
152169
`)
153170

154171
// source and target tags
155-
cmd.Command = dockerCli.Command("app", "image", "tag", "a-simple-app:0.1", "b-simple-app:0.2")
172+
dockerAppImageTag("a-simple-app:0.1", "b-simple-app:0.2")
156173
icmd.RunCmd(cmd).Assert(t, icmd.Success)
157174
expectImageListOutput(t, cmd, `APP IMAGE APP NAME
158175
a-simple-app:0.1 simple
@@ -175,7 +192,7 @@ push-pull:latest push-pull
175192
`)
176193

177194
// can be tagged to an existing tag
178-
cmd.Command = dockerCli.Command("app", "image", "tag", "push-pull", "b-simple-app:0.2")
195+
dockerAppImageTag("push-pull", "b-simple-app:0.2")
179196
icmd.RunCmd(cmd).Assert(t, icmd.Success)
180197
expectImageListOutput(t, cmd, `APP IMAGE APP NAME
181198
a-simple-app:0.1 simple

0 commit comments

Comments
 (0)