def test_execute_exception_1(mocked_connection, mocked_cursor, mocker): error = jaydebeapi.DatabaseError('error_message') error.args = ['error_message'] mocked_cursor.execute.side_effect = [error] mocked_connection.cursor.side_effect = [mocked_cursor] dummy = PostgreSQLJDBC(mocked_connection, transaction_id='123') with pytest.raises(BadRequestException) as e: dummy.execute("select * from users") assert e.value.message == 'error_message' mocked_cursor.close.assert_called_once_with()
def test_execute_exception_4(mocked_connection, mocked_cursor, mocker): error = jaydebeapi.DatabaseError('error') inner_error = mocker.Mock() inner_error.args = ['inner_error_message'] error.args = [inner_error] mocked_cursor.execute.side_effect = [0, error] mocked_connection.cursor.side_effect = [mocked_cursor] dummy = MySQLJDBC(mocked_connection, transaction_id='123') with pytest.raises(BadRequestException) as e: dummy.execute("select * from users") assert e.value.message == 'inner_error_message' mocked_cursor.execute.assert_has_calls([mocker.call('SELECT LAST_INSERT_ID(NULL)')]) mocked_cursor.close.assert_called_once_with()
def test_execute_exception_3(mocked_connection, mocked_cursor, mocker): mocked_connection.cursor.side_effect = [jaydebeapi.DatabaseError()] dummy = PostgreSQLJDBC(mocked_connection, transaction_id='123') with pytest.raises(BadRequestException): dummy.execute("select * from users") mocked_cursor.close.assert_not_called()