Exemple #1
0
def transform_to_json_api_errors(validation_error: ValidationError) -> dict:
    def transform_error(error):
        return {
            'detail': error.get('msg'),
            'title': error.get('type'),
            'source': {
                'pointer': '/' + '/'.join(error['loc']),
            },
        }

    error_response = ErrorResponse(
        errors=[transform_error(error) for error in validation_error.errors()])
    return filter_none(error_response.dict())
Exemple #2
0
def test_empty_error_response_valid():
    error_response = {'errors': []}
    validated = ErrorResponse(**error_response)
    assert filter_none(validated.dict()) == error_response
Exemple #3
0
def test_error_response_with_all_fields():
    error_response = errors_wrapper(error_with_all_fields)
    validated = ErrorResponse(**error_response)
    assert filter_none(validated.dict()) == error_response
Exemple #4
0
def test_valid_error_response_fields(error_response):
    validated = ErrorResponse(**error_response)
    assert filter_none(validated.dict()) == error_response
Exemple #5
0
 def dict(self, *, serlialize_none: bool = False, **kwargs):
     response = super().dict(**kwargs)
     if serlialize_none:
         return response
     return filter_none(response)