def test_execute_lambda_unknown_exception( self, mock_start_transaction, mock_session, mock_transaction, mock_is_occ_conflict_exception, mock_is_retryable_exception, mock_is_invalid_session_exception, mock_executor, mock_no_throw_abort): error = KeyError() mock_start_transaction.return_value = mock_transaction mock_transaction.transaction_id = 'transaction_id' mock_is_occ_conflict_exception.return_value = False mock_is_retryable_exception.return_value = False mock_is_invalid_session_exception.return_value = False qldb_session = QldbSession(mock_session, MOCK_READ_AHEAD, mock_executor) mock_lambda = Mock() mock_lambda.side_effect = error with self.assertRaises(ExecuteError) as cm: qldb_session._execute_lambda(mock_lambda) assert_execute_error(self, cm.exception, error, False, False, mock_transaction.transaction_id) self.assertTrue(qldb_session._is_alive) mock_no_throw_abort.assert_called_once_with() mock_transaction._commit.assert_not_called() mock_transaction._close_child_cursors.assert_called_once_with()
def test_execute_lambda_occ_conflict(self, mock_start_transaction, mock_session, mock_transaction, mock_is_occ_conflict_exception, mock_is_retryable_exception, mock_is_invalid_session_exception, mock_executor, mock_no_throw_abort): ce = ClientError(MOCK_CLIENT_ERROR_MESSAGE, MOCK_MESSAGE) mock_start_transaction.return_value = mock_transaction mock_transaction.transaction_id = 'transaction_id' mock_is_retryable_exception.return_value = False mock_is_invalid_session_exception.return_value = False mock_is_occ_conflict_exception.return_value = True qldb_session = QldbSession(mock_session, MOCK_READ_AHEAD, mock_executor) mock_lambda = Mock() mock_lambda.side_effect = ce with self.assertRaises(ExecuteError) as cm: qldb_session._execute_lambda(mock_lambda) assert_execute_error(self, cm.exception, ce, False, False, mock_transaction.transaction_id) mock_no_throw_abort.assert_not_called() mock_transaction._commit.assert_not_called() mock_transaction._close_child_cursors.assert_called_once_with()
def test_execute_lambda(self, mock_start_transaction, mock_session, mock_transaction, mock_stream_cursor, mock_buffered_cursor, mock_is_instance, mock_executor): mock_start_transaction.return_value = mock_transaction mock_transaction.execute_lambda.return_value = MOCK_RESULT mock_transaction._commit.return_value = None mock_is_instance.return_value = True mock_stream_cursor.return_value = mock_stream_cursor mock_buffered_cursor.return_value = MOCK_RESULT lambda_execution_context = _LambdaExecutionContext() mock_lambda = Mock() mock_lambda.return_value = MOCK_RESULT qldb_session = QldbSession(mock_session, MOCK_READ_AHEAD, mock_executor, MOCK_DRIVER_RELEASE) result = qldb_session._execute_lambda(mock_lambda, MOCK_DEFAULT_RETRY_CONFIG, lambda_execution_context) mock_start_transaction.assert_called_once_with() mock_lambda.assert_called_once() mock_transaction._commit.assert_called_once_with() mock_is_instance.assert_called_with(MOCK_RESULT, mock_stream_cursor) mock_buffered_cursor.assert_called_once_with(MOCK_RESULT) self.assertEqual(result, MOCK_RESULT)
def test_execute_lambda(self, mock_start_transaction, mock_session, mock_transaction, mock_stream_cursor, mock_buffered_cursor, mock_is_instance, mock_executor): mock_start_transaction.return_value = mock_transaction mock_transaction.execute_lambda.return_value = MOCK_RESULT mock_transaction._commit.return_value = None mock_is_instance.return_value = True mock_stream_cursor.return_value = mock_stream_cursor mock_buffered_cursor.return_value = MOCK_RESULT mock_lambda = Mock() mock_lambda.return_value = MOCK_RESULT qldb_session = QldbSession(mock_session, MOCK_READ_AHEAD, mock_executor) result = qldb_session._execute_lambda(mock_lambda) mock_start_transaction.assert_called_once_with() mock_lambda.assert_called_once() mock_transaction._commit.assert_called_once_with() mock_transaction._close_child_cursors.assert_called_once_with() mock_is_instance.assert_called_with(MOCK_RESULT, mock_stream_cursor) mock_buffered_cursor.assert_called_once_with(MOCK_RESULT) self.assertEqual(result, MOCK_RESULT)