package main import ( "os/exec" "strings" "testing" ) func TestCLIGetEvents(t *testing.T) { out, _, _ := cmd(t, "images", "-q") image := strings.Split(out, "\n")[0] cmd(t, "tag", image, "utest:tag1") cmd(t, "tag", image, "utest:tag2") cmd(t, "rmi", "utest:tag1") cmd(t, "rmi", "utest:tag2") eventsCmd := exec.Command("timeout", "0.2", dockerBinary, "events", "--since=1") out, _, _ = runCommandWithOutput(eventsCmd) events := strings.Split(out, "\n") n_events := len(events) // The last element after the split above will be an empty string, so we // get the two elements before the last, which are the untags we're // looking for. for _, v := range events[n_events-3 : n_events-1] { if !strings.Contains(v, "untag") { t.Fatalf("event should be untag, not %#v", v) } } logDone("events - untags are logged") }