@@ -5,7 +5,9 @@ package integration
55import (
66 "encoding/json"
77 "fmt"
8+ "sort"
89 "strconv"
10+ "strings"
911 "sync"
1012 "time"
1113
@@ -309,4 +311,52 @@ var _ = Describe("Podman events", func() {
309311 Expect (result .OutputToStringArray ()).ToNot (BeEmpty (), "Number of health_status events" )
310312 })
311313
314+ It ("podman events artifacts" , func () {
315+ lock , port , err := setupRegistry (nil )
316+ Expect (err ).ToNot (HaveOccurred ())
317+ defer lock .Unlock ()
318+
319+ artifactFile , err := createArtifactFile (4192 )
320+ Expect (err ).ToNot (HaveOccurred ())
321+ artifactName := fmt .Sprintf ("localhost:%s/test/artifact1" , port )
322+
323+ podmanTest .PodmanExitCleanly ("artifact" , "add" , artifactName , artifactFile )
324+
325+ podmanTest .PodmanExitCleanly ("artifact" , "extract" , artifactName , artifactFile )
326+
327+ podmanTest .PodmanExitCleanly ("artifact" , "push" , "-q" , "--tls-verify=false" , artifactName )
328+
329+ podmanTest .PodmanExitCleanly ("artifact" , "remove" , artifactName )
330+
331+ podmanTest .PodmanExitCleanly ("artifact" , "pull" , "--tls-verify=false" , artifactName )
332+
333+ result := podmanTest .PodmanExitCleanly ("events" , "--stream=false" , "--filter" , "type=artifact" )
334+ events := result .OutputToStringArray ()
335+
336+ // sort for remote
337+ sort .Slice (events , func (i , j int ) bool {
338+ getStatus := func (log string ) string {
339+ status := strings .Fields (log )
340+ return status [5 ]
341+ }
342+ return getStatus (events [i ]) < getStatus (events [j ])
343+ })
344+
345+ Expect (events ).To (HaveLen (5 ))
346+ Expect (events [0 ]).To (And (
347+ ContainSubstring ("artifact add" ),
348+ ContainSubstring (fmt .Sprintf ("(name=%s, files=%s)" , artifactName , "1" ))))
349+ Expect (events [1 ]).To (And (
350+ ContainSubstring ("artifact extract" ),
351+ ContainSubstring (fmt .Sprintf ("(name=%s, target=%s)" , artifactName , artifactFile ))))
352+ Expect (events [2 ]).To (And (
353+ ContainSubstring ("artifact pull" ),
354+ ContainSubstring (fmt .Sprintf ("(name=%s)" , artifactName ))))
355+ Expect (events [3 ]).To (And (
356+ ContainSubstring ("artifact push" ),
357+ ContainSubstring (fmt .Sprintf ("(name=%s)" , artifactName ))))
358+ Expect (events [4 ]).To (And (
359+ ContainSubstring ("artifact remove" ),
360+ ContainSubstring (fmt .Sprintf ("(name=%s)" , artifactName ))))
361+ })
312362})
0 commit comments