MCPcopy Create free account
hub / github.com/GetStream/stream-go2 / TestActivityMarshalUnmarshalJSON

Function TestActivityMarshalUnmarshalJSON

activity_test.go:14–51  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestActivityMarshalUnmarshalJSON(t *testing.T) {
15 now := getTime(time.Now())
16 testCases := []struct {
17 activity stream.Activity
18 data []byte
19 }{
20 {
21 activity: stream.Activity{Actor: "actor", Verb: "verb", Object: "object"},
22 data: []byte(`{"actor":"actor","object":"object","verb":"verb"}`),
23 },
24 {
25 activity: stream.Activity{Actor: "actor", Verb: "verb", Object: "object", Time: now},
26 data: []byte(`{"actor":"actor","object":"object","time":"` + now.Format(stream.TimeLayout) + `","verb":"verb"}`),
27 },
28 {
29 activity: stream.Activity{Actor: "actor", Verb: "verb", Object: "object", Time: now, Extra: map[string]any{"popularity": 42.0, "size": map[string]any{"width": 800.0, "height": 600.0}}},
30 data: []byte(`{"actor":"actor","object":"object","popularity":42,"size":{"height":600,"width":800},"time":"` + now.Format(stream.TimeLayout) + `","verb":"verb"}`),
31 },
32 {
33 activity: stream.Activity{Actor: "actor", Verb: "verb", Object: "object", Time: now, Extra: map[string]any{"popularity": 42.0, "size": map[string]any{"width": 800.0, "height": 600.0}}},
34 data: []byte(`{"actor":"actor","object":"object","popularity":42,"size":{"height":600,"width":800},"time":"` + now.Format(stream.TimeLayout) + `","verb":"verb"}`),
35 },
36 {
37 activity: stream.Activity{To: []string{"abcd", "efgh"}},
38 data: []byte(`{"to":["abcd","efgh"]}`),
39 },
40 }
41 for _, tc := range testCases {
42 data, err := json.Marshal(tc.activity)
43 assert.NoError(t, err)
44 assert.Equal(t, tc.data, data)
45
46 var out stream.Activity
47 err = json.Unmarshal(tc.data, &out)
48 require.NoError(t, err)
49 assert.Equal(t, tc.activity, out)
50 }
51}
52
53func TestActivityMarshalUnmarshalJSON_toTargets(t *testing.T) {
54 testCases := []struct {

Callers

nothing calls this directly

Calls 1

getTimeFunction · 0.85

Tested by

no test coverage detected