assert port.dispsize == 6
+@pytest.mark.libpq(">= 10")
def test_conninfo_parse():
info = pq.Conninfo.parse(
b"postgresql://host1:123,host2:456/somedb"
assert info[b"application_name"] == b"myapp"
+@pytest.mark.libpq("< 10")
+def test_conninfo_parse_96():
+ info = pq.Conninfo.parse(
+ b"postgresql://other@localhost/otherdb"
+ b"?connect_timeout=10&application_name=myapp"
+ )
+ info = {i.keyword: i.val for i in info if i.val is not None}
+ assert info[b"host"] == b"localhost"
+ assert info[b"dbname"] == b"otherdb"
+ assert info[b"application_name"] == b"myapp"
+
+
def test_conninfo_parse_bad():
with pytest.raises(psycopg.OperationalError) as e:
pq.Conninfo.parse(b"bad_conninfo=")
rv = pq.PGconn.ping(dsn.encode("utf8"))
assert rv == pq.Ping.OK
- rv = pq.PGconn.ping(b"port=99999")
+ rv = pq.PGconn.ping(b"port=9999")
assert rv == pq.Ping.NO_RESPONSE
pgconn.hostaddr
-@pytest.mark.xfail
@pytest.mark.libpq("< 12")
def test_hostaddr_missing(pgconn):
with pytest.raises(psycopg.NotSupportedError):