From: Lukáš Kožušník Date: Fri, 26 Sep 2025 21:09:26 +0000 (+0200) Subject: test: verify MetaData.reflect forwards kwargs to all inspector methods X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9436812223600a2459461744fe20648639afc07d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git test: verify MetaData.reflect forwards kwargs to all inspector methods Signed-off-by: Lukáš Kožušník --- diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index 3f249b6410..b63d597b74 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -5943,9 +5943,13 @@ class MetaData(HasSchemaAttr): ) if views: kind = util.preloaded.engine_reflection.ObjectKind.ANY - available.update(insp.get_view_names(schema)) + available.update(insp.get_view_names(schema, **dialect_kwargs)) try: - available.update(insp.get_materialized_view_names(schema)) + available.update( + insp.get_materialized_view_names( + schema, **dialect_kwargs + ) + ) except NotImplementedError: pass diff --git a/test/engine/test_reflection.py b/test/engine/test_reflection.py index ec07e20ac3..482ec9bf55 100644 --- a/test/engine/test_reflection.py +++ b/test/engine/test_reflection.py @@ -250,15 +250,34 @@ class ReflectionTest(fixtures.TestBase, ComparesTables): is_true(t1.c.t2id.references(t2.c.id)) def test_reflect_forwards_multiple_kwargs(self, connection, metadata): - with mock.patch( - "sqlalchemy.engine.reflection.Inspector.get_table_names", - return_value=None, - ) as mocked: + with ( + mock.patch( + "sqlalchemy.engine.reflection.Inspector.get_table_names", + return_value=None, + ) as mocked_get_table_names, + mock.patch( + "sqlalchemy.engine.reflection.Inspector.get_view_names", + return_value=set(), + ) as mocked_get_view_names, + mock.patch( + ( + "sqlalchemy.engine.reflection.Inspector." + "get_materialized_view_names" + ), + return_value=set(), + ) as mocked_get_materialized_view_names, + ): metadata.reflect( - bind=connection, flag1=True, flag2=123, flag3="abc" + bind=connection, flag1=True, flag2=123, flag3="abc", views=True ) - mocked.assert_called_once_with( + mocked_get_table_names.assert_called_once_with( + None, flag1=True, flag2=123, flag3="abc" + ) + mocked_get_view_names.assert_called_once_with( + None, flag1=True, flag2=123, flag3="abc" + ) + mocked_get_materialized_view_names.assert_called_once_with( None, flag1=True, flag2=123, flag3="abc" )