@@ -99,6 +99,11 @@ func TestImageTag(t *testing.T) {
99
99
dir := fs .NewDir (t , "" )
100
100
defer dir .Remove ()
101
101
102
+ dockerAppImageTag := func (args ... string ) {
103
+ cmdArgs := append ([]string {"app" , "image" , "tag" }, args ... )
104
+ cmd .Command = dockerCli .Command (cmdArgs ... )
105
+ }
106
+
102
107
// given a first available image
103
108
cmd .Command = dockerCli .Command ("app" , "bundle" , filepath .Join ("testdata" , "simple" , "simple.dockerapp" ), "--tag" , "a-simple-app" , "--output" , dir .Join ("simple-bundle.json" ))
104
109
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
@@ -109,31 +114,43 @@ a-simple-app:latest simple
109
114
expectImageListOutput (t , cmd , singleImageExpectation )
110
115
111
116
// 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
+ })
114
122
115
123
// 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
+ })
118
129
119
130
// 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
+ })
122
136
123
137
// 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
+ })
126
143
127
144
// 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" )
129
146
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
130
147
expectImageListOutput (t , cmd , `APP IMAGE APP NAME
131
148
a-simple-app:latest simple
132
149
b-simple-app:latest simple
133
150
` )
134
151
135
152
// 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" )
137
154
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
138
155
expectImageListOutput (t , cmd , `APP IMAGE APP NAME
139
156
a-simple-app:0.1 simple
@@ -142,7 +159,7 @@ b-simple-app:latest simple
142
159
` )
143
160
144
161
// 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" )
146
163
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
147
164
expectImageListOutput (t , cmd , `APP IMAGE APP NAME
148
165
a-simple-app:0.1 simple
@@ -152,7 +169,7 @@ c-simple-app:latest simple
152
169
` )
153
170
154
171
// 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" )
156
173
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
157
174
expectImageListOutput (t , cmd , `APP IMAGE APP NAME
158
175
a-simple-app:0.1 simple
@@ -175,7 +192,7 @@ push-pull:latest push-pull
175
192
` )
176
193
177
194
// 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" )
179
196
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
180
197
expectImageListOutput (t , cmd , `APP IMAGE APP NAME
181
198
a-simple-app:0.1 simple
0 commit comments