@property
def closed(self) -> bool:
"""`true` if the connection is closed."""
- return self.status == self.ConnStatus.BAD
-
- @property
- def status(self) -> pq.ConnStatus:
- return self.pgconn.status
+ return self.pgconn.status == self.ConnStatus.BAD
@property
def autocommit(self) -> bool:
if self.connection.closed:
raise e.InterfaceError("the connection is closed")
- if self.connection.status != self.connection.ConnStatus.OK:
+ if self.connection.pgconn.status != self.connection.ConnStatus.OK:
raise e.InterfaceError(
f"cannot execute operations: the connection is"
- f" in status {self.connection.status}"
+ f" in status {self.connection.pgconn.status}"
)
self._reset()
def test_connect(dsn):
conn = Connection.connect(dsn)
- assert conn.status == conn.ConnStatus.OK
+ assert not conn.closed
+ assert conn.pgconn.status == conn.ConnStatus.OK
def test_connect_str_subclass(dsn):
pass
conn = Connection.connect(MyString(dsn))
- assert conn.status == conn.ConnStatus.OK
+ assert not conn.closed
+ assert conn.pgconn.status == conn.ConnStatus.OK
def test_connect_bad():
assert not conn.closed
conn.close()
assert conn.closed
- assert conn.status == conn.ConnStatus.BAD
+ assert conn.pgconn.status == conn.ConnStatus.BAD
cur = conn.cursor()
conn.close()
assert conn.closed
- assert conn.status == conn.ConnStatus.BAD
+ assert conn.pgconn.status == conn.ConnStatus.BAD
with pytest.raises(psycopg3.InterfaceError):
cur.execute("select 1")
async def test_connect(dsn):
conn = await AsyncConnection.connect(dsn)
- assert conn.status == conn.ConnStatus.OK
+ assert not conn.closed
+ assert conn.pgconn.status == conn.ConnStatus.OK
@pytest.mark.asyncio
pass
conn = await AsyncConnection.connect(MyString(dsn))
- assert conn.status == conn.ConnStatus.OK
+ assert not conn.closed
+ assert conn.pgconn.status == conn.ConnStatus.OK
async def test_close(aconn):
assert not aconn.closed
await aconn.close()
assert aconn.closed
- assert aconn.status == aconn.ConnStatus.BAD
+ assert aconn.pgconn.status == aconn.ConnStatus.BAD
cur = await aconn.cursor()
await aconn.close()
assert aconn.closed
- assert aconn.status == aconn.ConnStatus.BAD
+ assert aconn.pgconn.status == aconn.ConnStatus.BAD
with pytest.raises(psycopg3.InterfaceError):
await cur.execute("select 1")