MCPcopy
hub / github.com/psycopg/psycopg / test_info

Function test_info

tests/pq/test_pgconn.py:122–147  ·  view source on GitHub ↗
(dsn, pgconn)

Source from the content-addressed store, hash-verified

120
121
122def test_info(dsn, pgconn):
123 info = pgconn.info
124 assert len(info) > 20
125 dbname = [d for d in info if d.keyword == b"dbname"][0]
126 assert dbname.envvar == b"PGDATABASE"
127 assert dbname.label == b"Database-Name"
128 assert dbname.dispchar == b""
129 assert dbname.dispsize == 20
130
131 parsed = pq.Conninfo.parse(dsn.encode())
132 # take the name and the user either from params or from env vars
133 name = [
134 o.val or os.environ.get(o.envvar.decode(), "").encode()
135 for o in parsed
136 if o.keyword == b"dbname" and o.envvar
137 ][0]
138 user = [
139 o.val or os.environ.get(o.envvar.decode(), "").encode()
140 for o in parsed
141 if o.keyword == b"user" and o.envvar
142 ][0]
143 assert dbname.val == (name or user)
144
145 pgconn.finish()
146 with pytest.raises(psycopg.OperationalError):
147 pgconn.info
148
149
150@pytest.mark.crdb_skip("pg_terminate_backend")

Callers

nothing calls this directly

Calls 3

parseMethod · 0.45
getMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected