@@ -681,10 +681,8 @@ def test_drop_table_tablemetadata_unavailable(self):
681
681
def test_ignore_decode_errors (self ):
682
682
problematic_unicode_string = b'[{"text":"\xed \xa0 \xbd \xed \xb1 \x8d Some string"}]'
683
683
self .stream .close ()
684
- self .execute ("CREATE TABLE test (id INTEGER(11), data VARCHAR(50) CHARACTER SET utf8mb4)" )
685
- self .execute ("INSERT INTO test VALUES (1, 'A value')" )
686
- self .execute ("COMMIT" )
687
- self .execute_with_args ("INSERT INTO test (id, data) VALUES (%s, %s)" , (2 , problematic_unicode_string ))
684
+ self .execute ("CREATE TABLE test (data VARCHAR(50) CHARACTER SET utf8mb4)" )
685
+ self .execute_with_args ("INSERT INTO test (data) VALUES (%s)" , (problematic_unicode_string ))
688
686
self .execute ("COMMIT" )
689
687
690
688
# Initialize with ignore_decode_errors=False
@@ -694,32 +692,22 @@ def test_ignore_decode_errors(self):
694
692
only_events = (WriteRowsEvent ,),
695
693
ignore_decode_errors = False
696
694
)
697
- self .stream .fetchone ()
698
- self .stream .fetchone ()
699
- self .stream .fetchone ()
700
- event = self .stream .fetchone () # insert for row 1
701
- data = event .rows [0 ]["values" ]["data" ]
702
- self .assertEqual (data , 'A value' )
703
-
695
+ event = self .stream .fetchone ()
696
+ event = self .stream .fetchone ()
704
697
with self .assertRaises (UnicodeError ) as exception :
705
- event = self .stream .fetchone () # insert for row 2
698
+ event = self .stream .fetchone ()
706
699
data = event .rows [0 ]["values" ]["data" ]
707
700
708
- # Initialize with ignore_decode_errors=False
701
+ # Initialize with ignore_decode_errors=True
709
702
self .stream = BinLogStreamReader (
710
703
self .database ,
711
704
server_id = 1024 ,
712
705
only_events = (WriteRowsEvent ,),
713
706
ignore_decode_errors = True
714
707
)
715
708
self .stream .fetchone ()
716
- self .stream .fetchone ()
717
- self .stream .fetchone ()
718
- event = self .stream .fetchone () # insert for row 1
719
- data = event .rows [0 ]["values" ]["data" ]
720
- self .assertEqual (data , 'A value' )
721
-
722
- event = self .stream .fetchone () # insert for row 2
709
+ self .stream .fetchone ()
710
+ event = self .stream .fetchone ()
723
711
data = event .rows [0 ]["values" ]["data" ]
724
712
self .assertEqual (data , '[{"text":" Some string"}]' )
725
713
0 commit comments