🔥 Remove test variants for Pydantic v1 in test_request_params (#14612)

This commit is contained in:
Sebastián Ramírez 2025-12-27 10:31:34 -08:00 committed by GitHub
parent ded035a421
commit 1b42639296
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 64 additions and 177 deletions

View File

@ -1,7 +1,7 @@
from typing import Annotated, Union
import pytest
from dirty_equals import IsDict, IsOneOf, IsPartialDict
from dirty_equals import IsOneOf, IsPartialDict
from fastapi import Body, FastAPI
from fastapi.testclient import TestClient
from pydantic import BaseModel, Field
@ -59,28 +59,16 @@ def test_required_list_str_missing(path: str, json: Union[dict, None]):
client = TestClient(app)
response = client.post(path, json=json)
assert response.status_code == 422
assert response.json() == IsDict(
{
"detail": [
{
"type": "missing",
"loc": IsOneOf(["body", "p"], ["body"]),
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
) | IsDict(
{
"detail": [
{
"loc": IsOneOf(["body", "p"], ["body"]),
"msg": "field required",
"type": "value_error.missing",
}
]
}
)
assert response.json() == {
"detail": [
{
"type": "missing",
"loc": IsOneOf(["body", "p"], ["body"]),
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
@pytest.mark.parametrize(

View File

@ -1,7 +1,6 @@
from typing import Annotated
import pytest
from dirty_equals import IsDict
from fastapi import FastAPI, File, UploadFile
from fastapi.testclient import TestClient
@ -36,27 +35,11 @@ def test_list_schema(path: str):
assert app.openapi()["components"]["schemas"][body_model_name] == {
"properties": {
"p": (
IsDict(
{
"anyOf": [
{
"type": "array",
"items": {"type": "string", "format": "binary"},
},
{"type": "null"},
],
"title": "P",
},
)
| IsDict(
{
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P",
},
)
)
"p": {
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P",
},
},
"required": ["p"],
"title": body_model_name,
@ -130,27 +113,11 @@ def test_list_alias_schema(path: str):
assert app.openapi()["components"]["schemas"][body_model_name] == {
"properties": {
"p_alias": (
IsDict(
{
"anyOf": [
{
"type": "array",
"items": {"type": "string", "format": "binary"},
},
{"type": "null"},
],
"title": "P Alias",
},
)
| IsDict(
{
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Alias",
},
)
)
"p_alias": {
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Alias",
},
},
"required": ["p_alias"],
"title": body_model_name,
@ -252,27 +219,11 @@ def test_list_validation_alias_schema(path: str):
assert app.openapi()["components"]["schemas"][body_model_name] == {
"properties": {
"p_val_alias": (
IsDict(
{
"anyOf": [
{
"type": "array",
"items": {"type": "string", "format": "binary"},
},
{"type": "null"},
],
"title": "P Val Alias",
},
)
| IsDict(
{
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Val Alias",
},
)
)
"p_val_alias": {
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Val Alias",
},
},
"required": ["p_val_alias"],
"title": body_model_name,
@ -385,27 +336,11 @@ def test_list_alias_and_validation_alias_schema(path: str):
assert app.openapi()["components"]["schemas"][body_model_name] == {
"properties": {
"p_val_alias": (
IsDict(
{
"anyOf": [
{
"type": "array",
"items": {"type": "string", "format": "binary"},
},
{"type": "null"},
],
"title": "P Val Alias",
},
)
| IsDict(
{
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Val Alias",
},
)
)
"p_val_alias": {
"type": "array",
"items": {"type": "string", "format": "binary"},
"title": "P Val Alias",
},
},
"required": ["p_val_alias"],
"title": body_model_name,

View File

@ -1,7 +1,7 @@
from typing import Annotated
import pytest
from dirty_equals import IsDict, IsOneOf, IsPartialDict
from dirty_equals import IsOneOf, IsPartialDict
from fastapi import FastAPI, Form
from fastapi.testclient import TestClient
from pydantic import BaseModel, Field
@ -58,28 +58,16 @@ def test_required_list_str_missing(path: str):
client = TestClient(app)
response = client.post(path)
assert response.status_code == 422
assert response.json() == IsDict(
{
"detail": [
{
"type": "missing",
"loc": ["body", "p"],
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
) | IsDict(
{
"detail": [
{
"loc": ["body", "p"],
"msg": "field required",
"type": "value_error.missing",
}
]
}
)
assert response.json() == {
"detail": [
{
"type": "missing",
"loc": ["body", "p"],
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
@pytest.mark.parametrize(

View File

@ -1,7 +1,7 @@
from typing import Annotated
import pytest
from dirty_equals import AnyThing, IsDict, IsOneOf, IsPartialDict
from dirty_equals import AnyThing, IsOneOf, IsPartialDict
from fastapi import FastAPI, Header
from fastapi.testclient import TestClient
from pydantic import BaseModel, Field
@ -53,28 +53,16 @@ def test_required_list_str_missing(path: str):
client = TestClient(app)
response = client.get(path)
assert response.status_code == 422
assert response.json() == IsDict(
{
"detail": [
{
"type": "missing",
"loc": ["header", "p"],
"msg": "Field required",
"input": AnyThing,
}
]
}
) | IsDict(
{
"detail": [
{
"loc": ["header", "p"],
"msg": "field required",
"type": "value_error.missing",
}
]
}
)
assert response.json() == {
"detail": [
{
"type": "missing",
"loc": ["header", "p"],
"msg": "Field required",
"input": AnyThing,
}
]
}
@pytest.mark.parametrize(

View File

@ -1,7 +1,7 @@
from typing import Annotated
import pytest
from dirty_equals import IsDict, IsOneOf
from dirty_equals import IsOneOf
from fastapi import FastAPI, Query
from fastapi.testclient import TestClient
from pydantic import BaseModel, Field
@ -53,28 +53,16 @@ def test_required_list_str_missing(path: str):
client = TestClient(app)
response = client.get(path)
assert response.status_code == 422
assert response.json() == IsDict(
{
"detail": [
{
"type": "missing",
"loc": ["query", "p"],
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
) | IsDict(
{
"detail": [
{
"loc": ["query", "p"],
"msg": "field required",
"type": "value_error.missing",
}
]
}
)
assert response.json() == {
"detail": [
{
"type": "missing",
"loc": ["query", "p"],
"msg": "Field required",
"input": IsOneOf(None, {}),
}
]
}
@pytest.mark.parametrize(