@@ -27,9 +27,9 @@ def ignoredEvents(self):
27
27
return [GtidEvent ]
28
28
29
29
def test_allowed_event_list (self ):
30
- self .assertEqual (len (self .stream ._allowed_event_list (None , None , False )), 20 )
31
- self .assertEqual (len (self .stream ._allowed_event_list (None , None , True )), 19 )
32
- self .assertEqual (len (self .stream ._allowed_event_list (None , [RotateEvent ], False )), 19 )
30
+ self .assertEqual (len (self .stream ._allowed_event_list (None , None , False )), 21 )
31
+ self .assertEqual (len (self .stream ._allowed_event_list (None , None , True )), 20 )
32
+ self .assertEqual (len (self .stream ._allowed_event_list (None , [RotateEvent ], False )), 20 )
33
33
self .assertEqual (len (self .stream ._allowed_event_list ([RotateEvent ], None , False )), 1 )
34
34
35
35
def test_read_query_event (self ):
@@ -1075,7 +1075,40 @@ def test_start_encryption_event(self):
1075
1075
self .assertEqual (schema , 1 )
1076
1076
self .assertEqual (key_version , key_version_from_key_file )
1077
1077
self .assertEqual (type (nonce ), bytes )
1078
- self .assertEqual (len (nonce ), 12 )
1078
+ self .assertEqual (len (nonce ), 12 )
1079
+
1080
+ def test_gtid_list_event (self ):
1081
+ # set max_binlog_size to create new binlog file
1082
+ query = 'SET GLOBAL max_binlog_size=4096'
1083
+ self .execute (query )
1084
+ # parse only Maradb GTID list event
1085
+ self .stream .close ()
1086
+ self .stream = BinLogStreamReader (
1087
+ self .database ,
1088
+ server_id = 1024 ,
1089
+ blocking = False ,
1090
+ only_events = [MariadbGtidListEvent ],
1091
+ is_mariadb = True ,
1092
+ )
1093
+
1094
+ query = "CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT, data VARCHAR (50) NOT NULL, PRIMARY KEY (id))"
1095
+ self .execute (query )
1096
+ query = "INSERT INTO test (data) VALUES('Hello World')"
1097
+
1098
+ for cnt in range (0 ,15 ):
1099
+ self .execute (query )
1100
+ self .execute ("COMMIT" )
1101
+
1102
+ # 'mariadb gtid list event' of first binlog file
1103
+ event = self .stream .fetchone ()
1104
+ self .assertEqual (event .event_type ,163 )
1105
+ self .assertIsInstance (event ,MariadbGtidListEvent )
1106
+
1107
+ # 'mariadb gtid list event' of second binlog file
1108
+ event = self .stream .fetchone ()
1109
+ self .assertEqual (event .event_type ,163 )
1110
+ self .assertEqual (event .gtid_list [0 ].gtid , '0-1-15' )
1111
+
1079
1112
1080
1113
1081
1114
class TestStatementConnectionSetting (base .PyMySQLReplicationTestCase ):
0 commit comments