Example #1
0
    def execute(self, request):
        if not request.is_valid():
            return ResponseFailure.build_from_invalid_request(request)

        try:
            return self.process_request(request)
        except Exception as exc:
            traceback.print_exc()
            return ResponseFailure.build_system_error('{}: {}'.format(
                exc.__class__.__name__, exc))
Example #2
0
def test_response_failure_build_system_error():
    error_message = 'test message'
    response = ResponseFailure.build_system_error(error_message)

    assert bool(response) is False
    assert response.type == ResponseFailure.SYSTEM_ERROR
    assert response.message == error_message
Example #3
0
def test_response_failure_build_paremeter_error():
    error_message = 'test message'
    response = ResponseFailure.build_parameter_error(error_message)

    assert bool(response) is False
    assert response.type == ResponseFailure.PARAMETER_ERROR
    assert response.message == error_message
Example #4
0
def test_response_failure_from_invalid_request():
    request = mock.Mock()
    request.errors = []
    request.is_valid.return_value = False

    response = ResponseFailure.build_from_invalid_request(request)
    assert bool(response) is False
Example #5
0
def test_response_failure_build_resource_error():
    error_message = 'test message'
    response = ResponseFailure.build_resource_error(error_message)

    assert bool(response) is False
    assert response.type == ResponseFailure.RESOURCE_ERROR
    assert response.message == error_message
Example #6
0
def test_response_failure_initialization_with_exception():
    error_message = 'Just an error message'
    response = ResponseFailure(response_type, Exception(error_message))

    assert bool(response) is False
    assert response.type == response_type
    assert response.message == 'Exception: {}'.format(error_message)
Example #7
0
def test_response_failure_from_invalid_request_with_errors():
    request = mock.Mock()
    request.errors = [
        RequestError('path', 'is mandatory'),
        RequestError('path', "can't be blank"),
    ]
    request.is_valid.return_value = False

    response = ResponseFailure.build_from_invalid_request(request)

    assert bool(response) is False
    assert response.type == ResponseFailure.PARAMETER_ERROR
    assert response.message == "path: is mandatory\npath: can't be blank"
Example #8
0
def test_response_failure_contains_value(response_type, response_msg):
    response = ResponseFailure(response_type, response_msg)
    assert response.value == {'type': response_type, 'message': response_msg}
Example #9
0
def test_response_failure_has_type_and_message(response_type, response_msg):
    response = ResponseFailure(response_type, response_msg)
    assert response.type == response_type
    assert response.message == response_msg
Example #10
0
def test_response_failure_is_false(response_type, response_msg):
    assert bool(ResponseFailure(response_type, response_msg)) is False