Skip to content

Commit 40b697e

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 e58a657 commit 40b697e

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
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: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ def test_primary_keys(self):
8383
in_("information_schema.key_column_usage", self.executed_statement)
8484

8585
def test_get_table_names(self):
86-
8786
self.fake_cursor.rowcount = 1
8887
self.fake_cursor.description = (
8988
('foo', None, None, None, None, None, None),
@@ -95,3 +94,17 @@ def test_get_table_names(self):
9594
eq_(insp.get_table_names(schema="doc"),
9695
['t1', 't2'])
9796
in_("WHERE table_schema = ? AND table_type = 'BASE TABLE' ORDER BY", self.executed_statement)
97+
98+
def test_get_view_names(self):
99+
self.fake_cursor.rowcount = 1
100+
self.fake_cursor.description = (
101+
('foo', None, None, None, None, None, None),
102+
)
103+
self.fake_cursor.fetchall = MagicMock(return_value=[["v1"], ["v2"]])
104+
105+
insp = inspect(self.character.metadata.bind)
106+
self.engine.dialect.server_version_info = (2, 0, 0)
107+
eq_(insp.get_view_names(schema="doc"),
108+
['v1', 'v2'])
109+
eq_(self.executed_statement, "SELECT table_name FROM information_schema.views "
110+
"ORDER BY table_name ASC, table_schema ASC")

0 commit comments

Comments
 (0)