MCPcopy Create free account
hub / github.com/coder/coder / TestParseEvent

Function TestParseEvent

coderd/usage/usagetypes/events_test.go:11–45  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestParseEvent(t *testing.T) {
12 t.Parallel()
13
14 t.Run("ExtraFields", func(t *testing.T) {
15 t.Parallel()
16 var event usagetypes.DCManagedAgentsV1
17 err := usagetypes.ParseEvent([]byte(`{"count": 1, "extra": "field"}`), &event)
18 require.ErrorContains(t, err, "unmarshal *usagetypes.DCManagedAgentsV1 event")
19 })
20
21 t.Run("ExtraData", func(t *testing.T) {
22 t.Parallel()
23 var event usagetypes.DCManagedAgentsV1
24 err := usagetypes.ParseEvent([]byte(`{"count": 1}{"count": 2}`), &event)
25 require.ErrorContains(t, err, "extra data after *usagetypes.DCManagedAgentsV1 event")
26 })
27
28 t.Run("DCManagedAgentsV1", func(t *testing.T) {
29 t.Parallel()
30
31 var event usagetypes.DCManagedAgentsV1
32 err := usagetypes.ParseEvent([]byte(`{"count": 1}`), &event)
33 require.NoError(t, err)
34 require.Equal(t, usagetypes.DCManagedAgentsV1{Count: 1}, event)
35 require.Equal(t, map[string]any{"count": uint64(1)}, event.Fields())
36
37 event = usagetypes.DCManagedAgentsV1{}
38 err = usagetypes.ParseEvent([]byte(`{"count": "invalid"}`), &event)
39 require.ErrorContains(t, err, "unmarshal *usagetypes.DCManagedAgentsV1 event")
40
41 event = usagetypes.DCManagedAgentsV1{}
42 err = usagetypes.ParseEvent([]byte(`{}`), &event)
43 require.ErrorContains(t, err, "invalid *usagetypes.DCManagedAgentsV1 event: count must be greater than 0")
44 })
45}
46
47func TestParseEventWithType(t *testing.T) {
48 t.Parallel()

Callers

nothing calls this directly

Calls 4

FieldsMethod · 0.95
ParseEventFunction · 0.92
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected