package event import ( "encoding/json" "testing" "github.com/stretchr/testify/assert" ) const ( 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\"}}}" ) func TestNewDatabaseEvent(t *testing.T) { dbEvt := New() assert.NotNil(t, dbEvt) } func TestUnmarshal(t *testing.T) { dbEvt := New() assert.NotNil(t, dbEvt) _, err := dbEvt.Unmarshal("cluster_events", notification) assert.NoError(t, err) evt := &Event{} err = json.Unmarshal([]byte(notification), evt) assert.NoError(t, err) evt.Channel = "cluster_events" assert.Equal(t, dbEvt, evt) } func TestToByte(t *testing.T) { dbEvt := New() assert.NotNil(t, dbEvt) _, err := dbEvt.Unmarshal("cluster_events", notification) assert.NoError(t, err) res, err := dbEvt.ToByte() assert.NoError(t, err) 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\"}}}") }