Skip to content

Commit 7154c0a

Browse files
committed
Rewrite tests to not depend on non-SQLAlchemy code
sqlalchemy-utils was only used to create views using SQLAlchemy for test_get_table_names and test_get_view_names. Those tests don't depend on whether the view creation happens via SQLAlchemy or otherwise.
1 parent 6d08841 commit 7154c0a

File tree

2 files changed

+14
-30
lines changed

2 files changed

+14
-30
lines changed

setup.py

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
"pytest",
4040
"pytest-runner",
4141
"click",
42-
"sqlalchemy_utils",
4342
"pre-commit",
4443
"black",
4544
"isort",

tests/integration/test_sqlalchemy_integration.py

+14-29
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import pytest
1313
import sqlalchemy as sqla
1414
from sqlalchemy.sql import and_, not_, or_
15-
from sqlalchemy_utils import create_view
1615

1716
from tests.unit.conftest import sqlalchemy_version
1817
from trino.sqlalchemy.datatype import JSON
@@ -382,24 +381,17 @@ def test_get_table_names(trino_connection, schema):
382381
engine.execute(sqla.schema.CreateSchema(name))
383382

384383
try:
385-
create_view(
386-
'my_view',
387-
sqla.select(
388-
[
389-
sqla.Table(
390-
'my_table',
391-
metadata,
392-
sqla.Column('id', sqla.Integer),
393-
),
394-
],
395-
),
384+
sqla.Table(
385+
'test_get_table_names',
396386
metadata,
397-
cascade_on_drop=False,
387+
sqla.Column('id', sqla.Integer),
398388
)
399-
400389
metadata.create_all(engine)
401-
assert sqla.inspect(engine).get_table_names(schema) == ['my_table']
390+
view_name = name + ".test_view"
391+
conn.execute(f"CREATE VIEW {view_name} AS SELECT * FROM test_get_table_names")
392+
assert sqla.inspect(engine).get_table_names(name) == ['test_get_table_names']
402393
finally:
394+
conn.execute(f"DROP VIEW IF EXISTS {view_name}")
403395
metadata.drop_all(engine)
404396

405397

@@ -422,24 +414,17 @@ def test_get_view_names(trino_connection, schema):
422414
engine.execute(sqla.schema.CreateSchema(name))
423415

424416
try:
425-
create_view(
426-
'test_get_view_names',
427-
sqla.select(
428-
[
429-
sqla.Table(
430-
'my_table',
431-
metadata,
432-
sqla.Column('id', sqla.Integer),
433-
),
434-
],
435-
),
417+
sqla.Table(
418+
'test_table',
436419
metadata,
437-
cascade_on_drop=False,
420+
sqla.Column('id', sqla.Integer),
438421
)
439-
440422
metadata.create_all(engine)
441-
assert sqla.inspect(engine).get_view_names(schema) == ['test_get_view_names']
423+
view_name = name + ".test_get_view_names"
424+
conn.execute(f"CREATE VIEW {view_name} AS SELECT * FROM test_table")
425+
assert sqla.inspect(engine).get_view_names(name) == ['test_get_view_names']
442426
finally:
427+
conn.execute(f"DROP VIEW IF EXISTS {view_name}")
443428
metadata.drop_all(engine)
444429

445430

0 commit comments

Comments
 (0)