...
1 package event
2
3 import (
4 "encoding/json"
5 "testing"
6
7 "github.com/stretchr/testify/assert"
8 )
9
10 const (
11 notification = "{\"cluster_infra_cluster_edge_id\":\"4b5ee554-b35f-4819-b5d6-d4333989e44b\",\"channel\":\"cluster_events\",\"operation\":\"INSERT\",\"data\": {\"cluster_edge_id\":{\"cluster_edge_id\":\"4b5ee554-b35f-4819-b5d6-d4333989e44a\"}}}"
12 )
13
14 func TestNewDatabaseEvent(t *testing.T) {
15 dbEvt := New()
16 assert.NotNil(t, dbEvt)
17 }
18
19 func TestUnmarshal(t *testing.T) {
20 dbEvt := New()
21 assert.NotNil(t, dbEvt)
22 _, err := dbEvt.Unmarshal("cluster_events", notification)
23 assert.NoError(t, err)
24 evt := &Event{}
25 err = json.Unmarshal([]byte(notification), evt)
26 assert.NoError(t, err)
27 evt.Channel = "cluster_events"
28 assert.Equal(t, dbEvt, evt)
29 }
30
31 func TestToByte(t *testing.T) {
32 dbEvt := New()
33 assert.NotNil(t, dbEvt)
34 _, err := dbEvt.Unmarshal("cluster_events", notification)
35 assert.NoError(t, err)
36 res, err := dbEvt.ToByte()
37 assert.NoError(t, err)
38 assert.Equal(t, string(res), "{\"channel\":\"cluster_events\",\"operation\":\"INSERT\",\"cluster_infra_cluster_edge_id\":\"4b5ee554-b35f-4819-b5d6-d4333989e44b\",\"banner_edge_id\":null,\"data\":{\"cluster_edge_id\":{\"cluster_edge_id\":\"4b5ee554-b35f-4819-b5d6-d4333989e44a\"}}}")
39 }
40
View as plain text