@@ -56,26 +56,73 @@ def test_table_dump(self):
56
56
57
57
def test_table_dump_filter (self ):
58
58
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);""" ,
62
59
"""CREATE TABLE "some_table_2" ("id_1" INTEGER);""" ,
63
60
"""INSERT INTO "some_table_2" VALUES(3);""" ,
64
61
"""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);""" ,
65
65
]
66
66
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"; """ ,
69
69
]
70
70
# Create database structure.
71
71
for sql in [* all_table_sqls , * all_views_sqls ]:
72
72
self .cu .execute (sql )
73
73
# %_table_% matches all tables.
74
74
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
+ )
76
79
# view_% matches all views.
77
80
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
+ )
79
126
80
127
def test_dump_autoincrement (self ):
81
128
expected = [
0 commit comments