]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
test: add test to verify missing oid lookups in string formats
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 8 Dec 2022 14:00:37 +0000 (14:00 +0000)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 10 Dec 2022 13:01:15 +0000 (13:01 +0000)
tests/types/test_numeric.py
tests/types/test_string.py

index cc471e8c717bd3cf42ba9ab259c08450d9ce93da..a27bc849c0cc98070942089d98195a724e3ecf8d 100644 (file)
@@ -612,3 +612,14 @@ def test_repr_wrapper(conn, wrapper, fmt_in):
     cur = conn.execute(f"select pg_typeof(%{fmt_in.value})::oid", [wrapper(0)])
     oid = cur.fetchone()[0]
     assert oid == psycopg.postgres.types[wrapper.__name__.lower()].oid
+
+
+@pytest.mark.parametrize("fmt_out", pq.Format)
+@pytest.mark.parametrize(
+    "typename",
+    "integer int2 int4 int8 float4 float8 numeric".split() + ["double precision"],
+)
+def test_oid_lookup(conn, typename, fmt_out):
+    dumper = conn.adapters.get_dumper_by_oid(conn.adapters.types[typename].oid, fmt_out)
+    assert dumper.oid == conn.adapters.types[typename].oid
+    assert dumper.format == fmt_out
index 8499959e13f3c373651d07da76afb8794fd4f39b..d23e5e03b3ea18e0403f62d1e68032c6632608c4 100644 (file)
@@ -241,6 +241,14 @@ def test_text_array_ascii(conn, fmt_in, fmt_out):
     assert res == exp
 
 
+@pytest.mark.parametrize("fmt_out", pq.Format)
+@pytest.mark.parametrize("typename", ["text", "varchar", "name"])
+def test_oid_lookup(conn, typename, fmt_out):
+    dumper = conn.adapters.get_dumper_by_oid(conn.adapters.types[typename].oid, fmt_out)
+    assert dumper.oid == conn.adapters.types[typename].oid
+    assert dumper.format == fmt_out
+
+
 #
 # tests with bytea
 #