1package api
2
3import (
4	"testing"
5
6	"github.com/hashicorp/consul/sdk/testutil/retry"
7)
8
9func TestAPI_EventFireList(t *testing.T) {
10	t.Parallel()
11	c, s := makeClient(t)
12	defer s.Stop()
13
14	event := c.Event()
15
16	params := &UserEvent{Name: "foo"}
17	id, meta, err := event.Fire(params, nil)
18	if err != nil {
19		t.Fatalf("err: %v", err)
20	}
21
22	if meta.RequestTime == 0 {
23		t.Fatalf("bad: %v", meta)
24	}
25
26	if id == "" {
27		t.Fatalf("invalid: %v", id)
28	}
29
30	var events []*UserEvent
31	var qm *QueryMeta
32
33	retry.Run(t, func(r *retry.R) {
34		events, qm, err = event.List("", nil)
35		if err != nil {
36			r.Fatalf("err: %v", err)
37		}
38		if len(events) <= 0 {
39			r.Fatal(err)
40		}
41	})
42
43	if events[len(events)-1].ID != id {
44		t.Fatalf("bad: %#v", events)
45	}
46
47	if qm.LastIndex != event.IDToIndex(id) {
48		t.Fatalf("Bad: %#v", qm)
49	}
50}
51