def test_qtbug_70506(self): """Test Qt's wrong handling of errors while opening the database. Due to https://bugreports.qt.io/browse/QTBUG-70506 we get an error with "out of memory" as string and -1 as error code. """ sql_err = QSqlError("Error opening database", "out of memory", QSqlError.UnknownError, sql.SqliteErrorCode.UNKNOWN) with pytest.raises(sql.KnownError): sql.raise_sqlite_error("Message", sql_err)
def test_logging(self, caplog): sql_err = QSqlError("driver text", "db text", QSqlError.UnknownError, '23') with pytest.raises(sql.BugError): sql.raise_sqlite_error("Message", sql_err) expected = [ 'SQL error:', 'type: UnknownError', 'database text: db text', 'driver text: driver text', 'error code: 23' ] assert caplog.messages == expected
def test_logging(self, caplog): sql_err = QSqlError("driver text", "db text", QSqlError.UnknownError, '23') with pytest.raises(sql.BugError): sql.raise_sqlite_error("Message", sql_err) expected = ['SQL error:', 'type: UnknownError', 'database text: db text', 'driver text: driver text', 'error code: 23'] assert caplog.messages == expected
def test_known(self, error_code, exception): sql_err = QSqlError("driver text", "db text", QSqlError.UnknownError, error_code) with pytest.raises(exception): sql.raise_sqlite_error("Message", sql_err)