docker_cli_events_test.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package main
  2. import (
  3. "fmt"
  4. "os/exec"
  5. "strings"
  6. "testing"
  7. "time"
  8. )
  9. func TestCLIGetEventsUntag(t *testing.T) {
  10. out, _, _ := cmd(t, "images", "-q")
  11. image := strings.Split(out, "\n")[0]
  12. cmd(t, "tag", image, "utest:tag1")
  13. cmd(t, "tag", image, "utest:tag2")
  14. cmd(t, "rmi", "utest:tag1")
  15. cmd(t, "rmi", "utest:tag2")
  16. eventsCmd := exec.Command("timeout", "0.2", dockerBinary, "events", "--since=1")
  17. out, _, _ = runCommandWithOutput(eventsCmd)
  18. events := strings.Split(out, "\n")
  19. n_events := len(events)
  20. // The last element after the split above will be an empty string, so we
  21. // get the two elements before the last, which are the untags we're
  22. // looking for.
  23. for _, v := range events[n_events-3 : n_events-1] {
  24. if !strings.Contains(v, "untag") {
  25. t.Fatalf("event should be untag, not %#v", v)
  26. }
  27. }
  28. logDone("events - untags are logged")
  29. }
  30. func TestCLIGetEventsPause(t *testing.T) {
  31. out, _, _ := cmd(t, "images", "-q")
  32. image := strings.Split(out, "\n")[0]
  33. cmd(t, "run", "-d", "--name", "testeventpause", image, "sleep", "2")
  34. cmd(t, "pause", "testeventpause")
  35. cmd(t, "unpause", "testeventpause")
  36. eventsCmd := exec.Command(dockerBinary, "events", "--since=0", fmt.Sprintf("--until=%d", time.Now().Unix()))
  37. out, _, _ = runCommandWithOutput(eventsCmd)
  38. events := strings.Split(out, "\n")
  39. if len(events) <= 1 {
  40. t.Fatalf("Missing expected event")
  41. }
  42. pauseEvent := strings.Fields(events[len(events)-3])
  43. unpauseEvent := strings.Fields(events[len(events)-2])
  44. if pauseEvent[len(pauseEvent)-1] != "pause" {
  45. t.Fatalf("event should be pause, not %#v", pauseEvent)
  46. }
  47. if unpauseEvent[len(unpauseEvent)-1] != "unpause" {
  48. t.Fatalf("event should be pause, not %#v", unpauseEvent)
  49. }
  50. logDone("events - pause/unpause is logged")
  51. }