@@ -69,6 +69,8 @@ func TestTransactionPayloadEventDecode(t *testing.T) {
6969 }
7070 err := e .decodePayload ()
7171 require .NoError (t , err )
72+
73+ // Check raw events
7274 require .Len (t , e .Events , 8 )
7375 require .Equal (t , QUERY_EVENT , e .Events [0 ].Header .EventType )
7476 require .Equal (t , TABLE_MAP_EVENT , e .Events [1 ].Header .EventType )
@@ -78,4 +80,17 @@ func TestTransactionPayloadEventDecode(t *testing.T) {
7880 require .Equal (t , TABLE_MAP_EVENT , e .Events [5 ].Header .EventType )
7981 require .Equal (t , DELETE_ROWS_EVENTv2 , e .Events [6 ].Header .EventType )
8082 require .Equal (t , XID_EVENT , e .Events [7 ].Header .EventType )
83+
84+ // Check insert/update/delete events casting
85+ ievent , ok := e .Events [2 ].Event .(* RowsEvent )
86+ require .True (t , ok )
87+ require .Equal (t , ievent .Type (), EnumRowsEventTypeInsert )
88+
89+ uevent , ok := e .Events [4 ].Event .(* RowsEvent )
90+ require .True (t , ok )
91+ require .Equal (t , uevent .Type (), EnumRowsEventTypeUpdate )
92+
93+ devent , ok := e .Events [6 ].Event .(* RowsEvent )
94+ require .True (t , ok )
95+ require .Equal (t , devent .Type (), EnumRowsEventTypeDelete )
8196}
0 commit comments