MCPcopy
hub / github.com/psycopg/psycopg / test_list_dumper

Function test_list_dumper

tests/test_adapt.py:302–324  ·  view source on GitHub ↗
(conn, fmt_out)

Source from the content-addressed store, hash-verified

300
301@pytest.mark.parametrize("fmt_out", pq.Format)
302def test_list_dumper(conn, fmt_out):
303 t = Transformer(conn)
304 fmt_in = PyFormat.from_pq(fmt_out)
305 dint = t.get_dumper([0], fmt_in)
306 assert isinstance(dint, (ListDumper, ListBinaryDumper))
307 assert dint.oid == builtins["int2"].array_oid
308 assert dint.sub_dumper and dint.sub_dumper.oid == builtins["int2"].oid
309
310 dstr = t.get_dumper([""], fmt_in)
311 assert dstr is not dint
312
313 assert t.get_dumper([1], fmt_in) is dint
314 assert t.get_dumper([None, [1]], fmt_in) is dint
315
316 dempty = t.get_dumper([], fmt_in)
317 assert t.get_dumper([None, [None]], fmt_in) is dempty
318 assert dempty.oid == 0
319 assert dempty.dump([]) == b"{}"
320
321 L: list[list[Any]] = []
322 L.append(L)
323 with pytest.raises(psycopg.DataError):
324 assert t.get_dumper(L, fmt_in)
325
326
327@pytest.mark.crdb("skip", reason="test in crdb test suite")

Callers

nothing calls this directly

Calls 4

get_dumperMethod · 0.95
from_pqMethod · 0.80
TransformerClass · 0.50
dumpMethod · 0.45

Tested by

no test coverage detected