def test_disconnect(credentials, dbapi): with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b = Database(dbapi=dbapi, **credentials) b._connect() b._disconnect() b.conn.close.assert_called_with() b.cursor.close.assert_called_with() # side effect exception with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b._connect() b.conn.close.side_effect = Exception("Disconnect Exception") with pytest.raises(DBError): b._disconnect()
def test_is_connected(credentials, dbapi): with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b = Database(dbapi=dbapi, **credentials) assert b._is_connected() is False with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b = Database(dbapi=dbapi, **credentials) b._connect() assert b._is_connected() is True # throws exception in _is_connected b = Database(dbapi=dbapi, **credentials) del b.conn assert b._is_connected() is False
def test_connect(credentials, dbapi): with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b = Database(dbapi=dbapi, **credentials) b._connect() mock_connect.assert_called_with( host="host", user="******", port="port", password="******", database="database" ) credentials["extra"] = 123 credentials["another"] = 321 with mock.patch(dbapi.__name__ + ".connect") as mock_connect: b = Database(dbapi=dbapi, **credentials) b._connect() mock_connect.assert_called_with( host="host", user="******", port="port", password="******", database="database", extra=123, another=321, ) # side effect exception mock_connect.side_effect = Exception("Connect Exception") with pytest.raises(DBError): b._connect()