]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Move test_network_address_cast() in SpecialTypesCompileTest
authorDenis Laxalde <denis@laxalde.org>
Tue, 11 Mar 2025 07:49:20 +0000 (08:49 +0100)
committerDenis Laxalde <denis@laxalde.org>
Tue, 11 Mar 2025 07:49:20 +0000 (08:49 +0100)
test/dialect/postgresql/test_types.py

index 8437ee1720985217a4c3d55aa43138a6ab802149..795a897699b331b4c994c594cffdebce610d6cc5 100644 (file)
@@ -3447,10 +3447,51 @@ class SpecialTypesCompileTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_bit_compile(self, type_, expected):
         self.assert_compile(type_, expected)
 
+    @testing.combinations(
+        (psycopg.dialect(),),
+        (psycopg2.dialect(),),
+        (asyncpg.dialect(),),
+        (pg8000.dialect(),),
+        argnames="dialect",
+        id_="n",
+    )
+    def test_network_address_cast(self, metadata, dialect):
+        t = Table(
+            "addresses",
+            metadata,
+            Column("id", Integer, primary_key=True),
+            Column("addr", postgresql.INET),
+            Column("addr2", postgresql.MACADDR),
+            Column("addr3", postgresql.CIDR),
+            Column("addr4", postgresql.MACADDR8),
+        )
+        stmt = select(t.c.id).where(
+            t.c.addr == "127.0.0.1",
+            t.c.addr2 == "08:00:2b:01:02:03",
+            t.c.addr3 == "192.168.100.128/25",
+            t.c.addr4 == "08:00:2b:01:02:03:04:05",
+        )
+        param, param2, param3, param4 = {
+            "format": ("%s", "%s", "%s", "%s"),
+            "numeric_dollar": ("$1", "$2", "$3", "$4"),
+            "pyformat": (
+                "%(addr_1)s",
+                "%(addr2_1)s",
+                "%(addr3_1)s",
+                "%(addr4_1)s",
+            ),
+        }[dialect.paramstyle]
+        expected = (
+            "SELECT addresses.id FROM addresses "
+            f"WHERE addresses.addr = {param} "
+            f"AND addresses.addr2 = {param2} "
+            f"AND addresses.addr3 = {param3} "
+            f"AND addresses.addr4 = {param4}"
+        )
+        self.assert_compile(stmt, expected, dialect=dialect)
 
-class SpecialTypesTest(
-    AssertsCompiledSQL, fixtures.TablesTest, ComparesTables
-):
+
+class SpecialTypesTest(fixtures.TablesTest, ComparesTables):
     """test DDL and reflection of PG-specific types"""
 
     __only_on__ = ("postgresql >= 8.3.0",)
@@ -3503,40 +3544,6 @@ class SpecialTypesTest(
         assert t.c.precision_interval.type.precision == 3
         assert t.c.bitstring.type.length == 4
 
-    @testing.combinations(
-        (psycopg.dialect(),),
-        (psycopg2.dialect(),),
-        (asyncpg.dialect(),),
-        (pg8000.dialect(),),
-        argnames="dialect",
-        id_="n",
-    )
-    def test_network_address_cast(self, special_types_table, dialect):
-        stmt = select(special_types_table.c.id).where(
-            special_types_table.c.addr == "127.0.0.1",
-            special_types_table.c.addr2 == "08:00:2b:01:02:03",
-            special_types_table.c.addr3 == "192.168.100.128/25",
-            special_types_table.c.addr4 == "08:00:2b:01:02:03:04:05",
-        )
-        param, param2, param3, param4 = {
-            "format": ("%s", "%s", "%s", "%s"),
-            "numeric_dollar": ("$1", "$2", "$3", "$4"),
-            "pyformat": (
-                "%(addr_1)s",
-                "%(addr2_1)s",
-                "%(addr3_1)s",
-                "%(addr4_1)s",
-            ),
-        }[dialect.paramstyle]
-        expected = (
-            "SELECT sometable.id FROM sometable "
-            f"WHERE sometable.addr = {param} "
-            f"AND sometable.addr2 = {param2} "
-            f"AND sometable.addr3 = {param3} "
-            f"AND sometable.addr4 = {param4}"
-        )
-        self.assert_compile(stmt, expected, dialect=dialect)
-
     @testing.combinations(
         (postgresql.INET, "127.0.0.1"),
         (postgresql.CIDR, "192.168.100.128/25"),