From 9436812223600a2459461744fe20648639afc07d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Luk=C3=A1=C5=A1=20Ko=C5=BEu=C5=A1n=C3=ADk?= Date: Fri, 26 Sep 2025 23:09:26 +0200 Subject: [PATCH] test: verify MetaData.reflect forwards kwargs to all inspector methods MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Lukáš Kožušník --- lib/sqlalchemy/sql/schema.py | 8 ++++++-- test/engine/test_reflection.py | 31 +++++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 8 deletions(-) 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" ) -- 2.47.3