@@ -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
131148a-simple-app:latest simple
132149b-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
139156a-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
148165a-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
158175a-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
181198a-simple-app:0.1 simple
0 commit comments