Browse code

Test on container events

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>

Alexandr Morozov authored on 2014/08/11 14:54:59
Showing 1 changed files
... ...
@@ -70,3 +70,35 @@ func TestCLILimitEvents(t *testing.T) {
70 70
 	}
71 71
 	logDone("events - limited to 64 entries")
72 72
 }
73
+
74
+func TestCLIGetEventsContainerEvents(t *testing.T) {
75
+	cmd(t, "run", "--rm", "busybox", "true")
76
+	eventsCmd := exec.Command(dockerBinary, "events", "--since=0", fmt.Sprintf("--until=%d", time.Now().Unix()))
77
+	out, exitCode, err := runCommandWithOutput(eventsCmd)
78
+	if exitCode != 0 || err != nil {
79
+		t.Fatal("Failed to get events with exit code %d: %s", exitCode, err)
80
+	}
81
+	events := strings.Split(out, "\n")
82
+	events = events[:len(events)-1]
83
+	if len(events) < 4 {
84
+		t.Fatalf("Missing expected event")
85
+	}
86
+	createEvent := strings.Fields(events[len(events)-4])
87
+	startEvent := strings.Fields(events[len(events)-3])
88
+	dieEvent := strings.Fields(events[len(events)-2])
89
+	destroyEvent := strings.Fields(events[len(events)-1])
90
+	if createEvent[len(createEvent)-1] != "create" {
91
+		t.Fatalf("event should be create, not %#v", createEvent)
92
+	}
93
+	if startEvent[len(startEvent)-1] != "start" {
94
+		t.Fatalf("event should be pause, not %#v", startEvent)
95
+	}
96
+	if dieEvent[len(dieEvent)-1] != "die" {
97
+		t.Fatalf("event should be pause, not %#v", dieEvent)
98
+	}
99
+	if destroyEvent[len(destroyEvent)-1] != "destroy" {
100
+		t.Fatalf("event should be pause, not %#v", destroyEvent)
101
+	}
102
+
103
+	logDone("events - container create, start, die, destroy is logged")
104
+}