]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
test: verify MetaData.reflect forwards kwargs to all inspector methods 12885/head
authorLukáš Kožušník <lukinkozusnik@seznam.cz>
Fri, 26 Sep 2025 21:09:26 +0000 (23:09 +0200)
committerLukáš Kožušník <lukinkozusnik@seznam.cz>
Fri, 26 Sep 2025 21:09:26 +0000 (23:09 +0200)
Signed-off-by: Lukáš Kožušník <lukinkozusnik@seznam.cz>
lib/sqlalchemy/sql/schema.py
test/engine/test_reflection.py

index 3f249b64101e4a9bbd8abae5bbcf234cded5a1df..b63d597b74e5f2fdb82d7244c1e928649b514135 100644 (file)
@@ -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
 
index ec07e20ac3747b201a6ee2d8412386b2ddda9a89..482ec9bf55348ac18c81882612f3a538186e64f4 100644 (file)
@@ -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"
             )