@@ -2,6 +2,7 @@ package e2e
2
2
3
3
import (
4
4
"bufio"
5
+ "fmt"
5
6
"path/filepath"
6
7
"regexp"
7
8
"strings"
@@ -23,7 +24,11 @@ func insertBundles(t *testing.T, cmd icmd.Cmd) {
23
24
24
25
func assertImageListOutput (t * testing.T , cmd icmd.Cmd , expected string ) {
25
26
result := icmd .RunCmd (cmd ).Assert (t , icmd .Success )
26
- match , _ := regexp .MatchString (expected , result .Stdout ())
27
+ stdout := result .Stdout ()
28
+ match , _ := regexp .MatchString (expected , stdout )
29
+ if ! match {
30
+ fmt .Println (stdout )
31
+ }
27
32
assert .Assert (t , match )
28
33
}
29
34
@@ -46,6 +51,7 @@ func verifyImageIDListOutput(t *testing.T, cmd icmd.Cmd, count int, distinct int
46
51
for scanner .Scan () {
47
52
lines = append (lines , scanner .Text ())
48
53
counter [scanner .Text ()]++
54
+ fmt .Println (scanner .Text ())
49
55
}
50
56
if err := scanner .Err (); err != nil {
51
57
assert .Error (t , err , "Verification failed" )
@@ -60,10 +66,10 @@ func TestImageList(t *testing.T) {
60
66
61
67
insertBundles (t , cmd )
62
68
63
- expected := `REPOSITORY TAG APP IMAGE ID APP NAME
64
- a-simple-app latest [a-f0-9]{12} simple
65
- b-simple-app latest [a-f0-9]{12} simple
66
- my.registry:5000/c-myapp latest [a-f0-9]{12} push-pull
69
+ expected := `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
70
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
71
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
72
+ my.registry:5000/c-myapp latest [a-f0-9]{12} push-pull [La-z0-9 ]+ ago
67
73
`
68
74
expectImageListOutput (t , cmd , expected )
69
75
})
@@ -73,18 +79,18 @@ func TestImageListQuiet(t *testing.T) {
73
79
runWithDindSwarmAndRegistry (t , func (info dindSwarmAndRegistryInfo ) {
74
80
cmd := info .configuredCmd
75
81
insertBundles (t , cmd )
76
- verifyImageIDListOutput (t , cmd , 3 , 2 )
82
+ verifyImageIDListOutput (t , cmd , 3 , 3 )
77
83
})
78
84
}
79
85
80
86
func TestImageListDigests (t * testing.T ) {
81
87
runWithDindSwarmAndRegistry (t , func (info dindSwarmAndRegistryInfo ) {
82
88
cmd := info .configuredCmd
83
89
insertBundles (t , cmd )
84
- expected := `REPOSITORY TAG DIGEST APP IMAGE ID APP NAME
85
- a-simple-app latest <none> [a-f0-9]{12} simple
86
- b-simple-app latest <none> [a-f0-9]{12} simple
87
- my.registry:5000/c-myapp latest <none> [a-f0-9]{12} push-pull
90
+ expected := `REPOSITORY TAG DIGEST APP IMAGE ID APP NAME CREATED
91
+ a-simple-app latest <none> [a-f0-9]{12} simple [La-z0-9 ]+ ago
92
+ b-simple-app latest <none> [a-f0-9]{12} simple [La-z0-9 ]+ ago
93
+ my.registry:5000/c-myapp latest <none> [a-f0-9]{12} push-pull [La-z0-9 ]+ ago
88
94
`
89
95
expectImageListDigestsOutput (t , cmd , expected )
90
96
})
@@ -115,7 +121,7 @@ Deleted: b-simple-app:latest`,
115
121
Err : `b-simple-app:latest: reference not found` ,
116
122
})
117
123
118
- expectedOutput := "REPOSITORY TAG APP IMAGE ID APP NAME\n "
124
+ expectedOutput := "REPOSITORY TAG APP IMAGE ID APP NAME CREATED \n "
119
125
expectImageListOutput (t , cmd , expectedOutput )
120
126
})
121
127
}
@@ -133,8 +139,8 @@ func TestImageTag(t *testing.T) {
133
139
cmd .Command = dockerCli .Command ("app" , "build" , "--tag" , "a-simple-app" , filepath .Join ("testdata" , "simple" ))
134
140
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
135
141
136
- singleImageExpectation := `REPOSITORY TAG APP IMAGE ID APP NAME
137
- a-simple-app latest [a-f0-9]{12} simple
142
+ singleImageExpectation := `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
143
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
138
144
`
139
145
expectImageListOutput (t , cmd , singleImageExpectation )
140
146
@@ -183,63 +189,63 @@ a-simple-app latest [a-f0-9]{12} simple
183
189
// tag image with only names
184
190
dockerAppImageTag ("a-simple-app" , "b-simple-app" )
185
191
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
186
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
187
- a-simple-app latest [a-f0-9]{12} simple
188
- b-simple-app latest [a-f0-9]{12} simple
192
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
193
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
194
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
189
195
` )
190
196
191
197
// target tag
192
198
dockerAppImageTag ("a-simple-app" , "a-simple-app:0.1" )
193
199
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
194
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
195
- a-simple-app 0.1 [a-f0-9]{12} simple
196
- a-simple-app latest [a-f0-9]{12} simple
197
- b-simple-app latest [a-f0-9]{12} simple
200
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
201
+ a-simple-app 0.1 [a-f0-9]{12} simple [La-z0-9 ]+ ago
202
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
203
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
198
204
` )
199
205
200
206
// source tag
201
207
dockerAppImageTag ("a-simple-app:0.1" , "c-simple-app" )
202
208
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
203
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
204
- a-simple-app 0.1 [a-f0-9]{12} simple
205
- a-simple-app latest [a-f0-9]{12} simple
206
- b-simple-app latest [a-f0-9]{12} simple
207
- c-simple-app latest [a-f0-9]{12} simple
209
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
210
+ a-simple-app 0.1 [a-f0-9]{12} simple [La-z0-9 ]+ ago
211
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
212
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
213
+ c-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
208
214
` )
209
215
210
216
// source and target tags
211
217
dockerAppImageTag ("a-simple-app:0.1" , "b-simple-app:0.2" )
212
218
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
213
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
214
- a-simple-app 0.1 [a-f0-9]{12} simple
215
- a-simple-app latest [a-f0-9]{12} simple
216
- b-simple-app 0.2 [a-f0-9]{12} simple
217
- b-simple-app latest [a-f0-9]{12} simple
218
- c-simple-app latest [a-f0-9]{12} simple
219
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
220
+ a-simple-app 0.1 [a-f0-9]{12} simple [La-z0-9 ]+ ago
221
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
222
+ b-simple-app 0.2 [a-f0-9]{12} simple [La-z0-9 ]+ ago
223
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
224
+ c-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
219
225
` )
220
226
221
227
// given a new application
222
228
cmd .Command = dockerCli .Command ("app" , "build" , "--tag" , "push-pull" , filepath .Join ("testdata" , "push-pull" ))
223
229
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
224
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
225
- a-simple-app 0.1 [a-f0-9]{12} simple
226
- a-simple-app latest [a-f0-9]{12} simple
227
- b-simple-app 0.2 [a-f0-9]{12} simple
228
- b-simple-app latest [a-f0-9]{12} simple
229
- c-simple-app latest [a-f0-9]{12} simple
230
- push-pull latest [a-f0-9]{12} push-pull
230
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
231
+ a-simple-app 0.1 [a-f0-9]{12} simple [La-z0-9 ]+ ago
232
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
233
+ b-simple-app 0.2 [a-f0-9]{12} simple [La-z0-9 ]+ ago
234
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
235
+ c-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
236
+ push-pull latest [a-f0-9]{12} push-pull [La-z0-9 ]+ ago
231
237
` )
232
238
233
239
// can be tagged to an existing tag
234
240
dockerAppImageTag ("push-pull" , "b-simple-app:0.2" )
235
241
icmd .RunCmd (cmd ).Assert (t , icmd .Success )
236
- expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME
237
- a-simple-app 0.1 [a-f0-9]{12} simple
238
- a-simple-app latest [a-f0-9]{12} simple
239
- b-simple-app 0.2 [a-f0-9]{12} push-pull
240
- b-simple-app latest [a-f0-9]{12} simple
241
- c-simple-app latest [a-f0-9]{12} simple
242
- push-pull latest [a-f0-9]{12} push-pull
242
+ expectImageListOutput (t , cmd , `REPOSITORY TAG APP IMAGE ID APP NAME CREATED
243
+ a-simple-app 0.1 [a-f0-9]{12} simple [La-z0-9 ]+ ago
244
+ a-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
245
+ b-simple-app 0.2 [a-f0-9]{12} push-pull [La-z0-9 ]+ ago
246
+ b-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
247
+ c-simple-app latest [a-f0-9]{12} simple [La-z0-9 ]+ ago
248
+ push-pull latest [a-f0-9]{12} push-pull [La-z0-9 ]+ ago
243
249
` )
244
250
})
245
251
}
0 commit comments