Skip to content

Commit

Permalink
Fix response_model not invalidating None
Browse files Browse the repository at this point in the history
  • Loading branch information
hukkinj1 committed Jan 29, 2021
1 parent 41f2915 commit 2ba3e03
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
2 changes: 1 addition & 1 deletion fastapi/utils.py
Expand Up @@ -39,7 +39,7 @@ def create_response_field(
type_: Type[Any],
class_validators: Optional[Dict[str, Validator]] = None,
default: Optional[Any] = None,
required: Union[bool, UndefinedType] = False,
required: Union[bool, UndefinedType] = True,
model_config: Type[BaseConfig] = BaseConfig,
field_info: Optional[FieldInfo] = None,
alias: Optional[str] = None,
Expand Down
10 changes: 10 additions & 0 deletions tests/test_validate_response.py
Expand Up @@ -19,6 +19,11 @@ def get_invalid():
return {"name": "invalid", "price": "foo"}


@app.get("/items/invalidnone", response_model=Item)
def get_invalid_none():
return None


@app.get("/items/innerinvalid", response_model=Item)
def get_innerinvalid():
return {"name": "double invalid", "price": "foo", "owner_ids": ["foo", "bar"]}
Expand All @@ -41,6 +46,11 @@ def test_invalid():
client.get("/items/invalid")


def test_invalid_none():
with pytest.raises(ValidationError):
client.get("/items/invalidnone")


def test_double_invalid():
with pytest.raises(ValidationError):
client.get("/items/innerinvalid")
Expand Down

0 comments on commit 2ba3e03

Please sign in to comment.