示例#1
0
def test_nullable_strings_fails():
    class NoneCheckModel(BaseModel):
        existing_str_value = 'foo'
        required_str_value: str = ...
        required_str_none_value: NoneStr = ...
        existing_bytes_value = b'foo'
        required_bytes_value: bytes = ...
        required_bytes_none_value: NoneBytes = ...

    try:
        NoneCheckModel(
            required_str_value=None,
            required_str_none_value=None,
            required_bytes_value=None,
            required_bytes_none_value=None,
        )
    except ValidationError as e:
        assert """\
{
  "required_bytes_value": {
    "error_msg": "None is not an allow value",
    "error_type": "TypeError",
    "track": "bytes"
  },
  "required_str_value": {
    "error_msg": "None is not an allow value",
    "error_type": "TypeError",
    "track": "str"
  }
}""" == json.dumps(pretty_errors(e.errors_raw), indent=2, sort_keys=True)
示例#2
0
def test_pretty_error_no_recursion():
    with pytest.raises(TypeError):
        pretty_errors('foobar')