Skip to content

Commit 01d1d5b

Browse files
committed
Make test simpler
1 parent bc0f9ed commit 01d1d5b

File tree

1 file changed

+21
-28
lines changed

1 file changed

+21
-28
lines changed

pymysqlreplication/tests/test_basic.py

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import io
22
import time
33
import unittest
4-
from random import randbytes, shuffle
54

65
from pymysqlreplication.json_binary import JsonDiff, JsonDiffOperation
76
from pymysqlreplication.tests import base
@@ -421,23 +420,17 @@ def test_minimal_image_update_row_event(self):
421420
self.assertEqual(event.rows[0]["after_values"]["id"], None)
422421
self.assertEqual(event.rows[0]["after_values"]["data"], "World")
423422

424-
def test_charset_parsing(self):
425-
char_columns = {
426-
f"c_utf8_{i}": ("VARCHAR(255) NOT NULL", "Hello")
427-
for i in range(3)
428-
}
429-
char_columns["c_binary"] = ("LONGBLOB NOT NULL", randbytes(1024))
430-
int_columns = {f"i_{i}": ("INTEGER NOT NULL", i) for i in range(3)}
431-
columns = list({**char_columns, **int_columns}.items())
432-
shuffle(columns)
433-
column_types = ", ".join(f"{name} {type}" for name, (type, _) in columns)
434-
column_names = ", ".join(name for name, _ in columns)
435-
column_value_placeholders = ", ".join("%s" for _ in range(len(columns)))
436-
column_values = [value for _, (_, value) in columns]
437-
query = f"CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT, {column_types}, PRIMARY KEY (id)) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;"
438-
self.execute(query)
439-
query = f"INSERT INTO test ({column_names}) VALUES({column_value_placeholders})"
440-
self.execute_with_args(query, column_values)
423+
def test_default_charset_parsing(self):
424+
query = """CREATE TABLE test (
425+
id INT NOT NULL AUTO_INCREMENT,
426+
text1 VARCHAR(255) NOT NULL,
427+
text2 VARCHAR(255) NOT NULL,
428+
data LONGBLOB NOT NULL,
429+
PRIMARY KEY (id)
430+
) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;"""
431+
self.execute(query)
432+
query = "INSERT INTO test (text1, text2, data) VALUES(%s, %s, %s)"
433+
self.execute_with_args(query, ("text", "text", b"data"))
441434
self.execute("COMMIT")
442435

443436
self.assertIsInstance(self.stream.fetchone(), RotateEvent)
@@ -451,12 +444,12 @@ def test_charset_parsing(self):
451444
self.assertIsInstance(event, TableMapEvent)
452445
if event.table_map[event.table_id].column_name_flag:
453446
columns = {c.name: c for c in event.columns}
454-
for name, column in columns.items():
455-
if name.startswith("c_utf8_"):
456-
assert column.character_set_name == "utf8"
457-
assert column.collation_name == "utf8mb3_unicode_ci"
458-
assert columns["c_binary"].character_set_name == "binary"
459-
assert columns["c_binary"].collation_name == "binary"
447+
assert columns["text1"].character_set_name == "utf8"
448+
assert columns["text1"].collation_name.startswith("utf8")
449+
assert columns["text2"].character_set_name == "utf8"
450+
assert columns["text2"].collation_name.startswith("utf8")
451+
assert columns["data"].character_set_name == "binary"
452+
assert columns["data"].collation_name == "binary"
460453

461454

462455
def test_log_pos(self):
@@ -1898,7 +1891,7 @@ def setUp(self):
18981891
def test_json_partial_update(self):
18991892
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
19001893
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1901-
insert_query = """INSERT INTO test_json_v2 VALUES
1894+
insert_query = """INSERT INTO test_json_v2 VALUES
19021895
(101
19031896
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
19041897
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
@@ -1935,7 +1928,7 @@ def test_json_partial_update_column_value_none(self):
19351928
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
19361929
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
19371930
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1938-
insert_query = """INSERT INTO test_json_v2 VALUES
1931+
insert_query = """INSERT INTO test_json_v2 VALUES
19391932
(101
19401933
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
19411934
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
@@ -1973,7 +1966,7 @@ def test_json_partial_update_json_remove(self):
19731966
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
19741967
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
19751968
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1976-
insert_query = """INSERT INTO test_json_v2 VALUES
1969+
insert_query = """INSERT INTO test_json_v2 VALUES
19771970
(101
19781971
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
19791972
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
@@ -2013,7 +2006,7 @@ def test_json_partial_update_two_column(self):
20132006
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
20142007
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
20152008
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
2016-
insert_query = """INSERT INTO test_json_v2 VALUES
2009+
insert_query = """INSERT INTO test_json_v2 VALUES
20172010
(101
20182011
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
20192012
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'

0 commit comments

Comments
 (0)