Skip to content

Commit e181dcb

Browse files
committed
More tests.
1 parent b1ae087 commit e181dcb

File tree

1 file changed

+54
-7
lines changed

1 file changed

+54
-7
lines changed

Lib/test/test_sqlite3/test_dump.py

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,73 @@ def test_table_dump(self):
5656

5757
def test_table_dump_filter(self):
5858
all_table_sqls = [
59-
"""CREATE TABLE "test_table_1" ("id_2" INTEGER);""",
60-
"""INSERT INTO "test_table_1" VALUES(1);""",
61-
"""INSERT INTO "test_table_1" VALUES(2);""",
6259
"""CREATE TABLE "some_table_2" ("id_1" INTEGER);""",
6360
"""INSERT INTO "some_table_2" VALUES(3);""",
6461
"""INSERT INTO "some_table_2" VALUES(4);""",
62+
"""CREATE TABLE "test_table_1" ("id_2" INTEGER);""",
63+
"""INSERT INTO "test_table_1" VALUES(1);""",
64+
"""INSERT INTO "test_table_1" VALUES(2);""",
6565
]
6666
all_views_sqls = [
67-
"""CREATE VIEW view_1 AS SELECT * FROM some_table_2""",
68-
"""CREATE VIEW view_2 AS SELECT * FROM test_table_1""",
67+
"""CREATE VIEW "view_1" AS SELECT * FROM "some_table_2";""",
68+
"""CREATE VIEW "view_2" AS SELECT * FROM "test_table_1";""",
6969
]
7070
# Create database structure.
7171
for sql in [*all_table_sqls, *all_views_sqls]:
7272
self.cu.execute(sql)
7373
# %_table_% matches all tables.
7474
dump_sqls = list(self.cx.iterdump(filter="%_table_%"))
75-
self.assertEqual(dump_sqls, all_table_sqls)
75+
self.assertEqual(
76+
dump_sqls,
77+
["BEGIN TRANSACTION;", *all_table_sqls, "COMMIT;"],
78+
)
7679
# view_% matches all views.
7780
dump_sqls = list(self.cx.iterdump(filter="view_%"))
78-
self.assertEqual(dump_sqls, all_views_sqls)
81+
self.assertEqual(
82+
dump_sqls,
83+
["BEGIN TRANSACTION;", *all_views_sqls, "COMMIT;"],
84+
)
85+
# %_1 matches tables and views with the _1 suffix.
86+
dump_sqls = list(self.cx.iterdump(filter="%_1"))
87+
self.assertEqual(
88+
dump_sqls,
89+
[
90+
"BEGIN TRANSACTION;",
91+
"""CREATE TABLE "test_table_1" ("id_2" INTEGER);""",
92+
"""INSERT INTO "test_table_1" VALUES(1);""",
93+
"""INSERT INTO "test_table_1" VALUES(2);""",
94+
"""CREATE VIEW "view_1" AS SELECT * FROM "some_table_2";""",
95+
"COMMIT;"
96+
],
97+
)
98+
# some_% matches some_table_2.
99+
dump_sqls = list(self.cx.iterdump(filter="some_%"))
100+
self.assertEqual(
101+
dump_sqls,
102+
[
103+
"BEGIN TRANSACTION;",
104+
"""CREATE TABLE "some_table_2" ("id_1" INTEGER);""",
105+
"""INSERT INTO "some_table_2" VALUES(3);""",
106+
"""INSERT INTO "some_table_2" VALUES(4);""",
107+
"COMMIT;"
108+
],
109+
)
110+
# Only single object.
111+
dump_sqls = list(self.cx.iterdump(filter="view_2"))
112+
self.assertEqual(
113+
dump_sqls,
114+
[
115+
"BEGIN TRANSACTION;",
116+
"""CREATE VIEW "view_2" AS SELECT * FROM "test_table_1";""",
117+
"COMMIT;"
118+
],
119+
)
120+
# % matches all objects.
121+
dump_sqls = list(self.cx.iterdump(filter="%"))
122+
self.assertEqual(
123+
dump_sqls,
124+
["BEGIN TRANSACTION;", *all_table_sqls, *all_views_sqls, "COMMIT;"],
125+
)
79126

80127
def test_dump_autoincrement(self):
81128
expected = [

0 commit comments

Comments
 (0)