Skip to content

Commit 2587e55

Browse files
committed
SA14: Add test cases for new dialect method get_view_names
In order to test cases when views are actually _present_, some would have to be created. This is out of scope for this patch. - https://github.com/sqlalchemy/sqlalchemy/wiki/Views - https://github.com/jklukas/sqlalchemy-views - https://stackoverflow.com/questions/9766940/how-to-create-an-sql-view-with-sqlalchemy
1 parent 637aeff commit 2587e55

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/crate/client/sqlalchemy/doctests/reflection.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ List all tables::
1717
>>> set(['checks', 'cluster', 'jobs', 'jobs_log']).issubset(inspector.get_table_names(schema='sys'))
1818
True
1919

20+
List all views::
21+
22+
>>> inspector.get_view_names()
23+
[]
24+
25+
>>> inspector.get_view_names(schema='sys')
26+
[]
27+
2028
Get default schema name::
2129

2230
>>> inspector.default_schema_name

src/crate/client/sqlalchemy/tests/dialect_test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,14 @@ def test_get_table_names(self):
112112
eq_(insp.get_table_names(schema="doc"),
113113
['t1', 't2'])
114114
in_("WHERE schema_name = ? ORDER BY", self.executed_statement)
115+
116+
def test_get_view_names(self):
117+
fake_cursor.rowcount = 1
118+
fake_cursor.fetchall = MagicMock(return_value=[["v1"], ["v2"]])
119+
120+
insp = inspect(self.character.metadata.bind)
121+
self.engine.dialect.server_version_info = (2, 0, 0)
122+
eq_(insp.get_view_names(schema="doc"),
123+
['v1', 'v2'])
124+
eq_(self.executed_statement, "SELECT table_name FROM information_schema.views "
125+
"ORDER BY table_name ASC, table_schema ASC")

0 commit comments

Comments
 (0)