Browse Source

Update tests for compat

pull/14168/head
Sebastián Ramírez 10 months ago
parent
commit
cb28e5dbc4
  1. 20
      tests/test_compat.py

20
tests/test_compat.py

@ -6,11 +6,11 @@ from fastapi._compat import (
Undefined,
_get_model_config,
get_cached_model_fields,
get_model_fields,
is_bytes_sequence_annotation,
is_scalar_field,
is_uploadfile_sequence_annotation,
v1,
)
from fastapi._compat.shared import is_bytes_sequence_annotation
from fastapi.testclient import TestClient
from pydantic import BaseConfig, BaseModel, ConfigDict
from pydantic.fields import FieldInfo
@ -20,9 +20,11 @@ from .utils import needs_pydanticv1, needs_pydanticv2
@needs_pydanticv2
def test_model_field_default_required():
from fastapi._compat import v2
# For coverage
field_info = FieldInfo(annotation=str)
field = ModelField(name="foo", field_info=field_info)
field = v2.ModelField(name="foo", field_info=field_info)
assert field.default is Undefined
@ -38,7 +40,7 @@ def test_union_scalar_list():
# TODO: there might not be a current valid code path that uses this, it would
# potentially enable query parameters defined as both a scalar and a list
# but that would require more refactors, also not sure it's really useful
from fastapi._compat import is_pv1_scalar_field
from fastapi._compat.v1 import is_pv1_scalar_field
field_info = FieldInfo()
field = ModelField(
@ -143,19 +145,19 @@ def test_is_uploadfile_sequence_annotation():
def test_is_pv1_scalar_field():
# For coverage
class Model(BaseModel):
class Model(v1.BaseModel):
foo: Union[str, Dict[str, Any]]
fields = get_model_fields(Model)
fields = v1.get_model_fields(Model)
assert not is_scalar_field(fields[0])
def test_get_model_fields_cached():
class Model(BaseModel):
class Model(v1.BaseModel):
foo: str
non_cached_fields = get_model_fields(Model)
non_cached_fields2 = get_model_fields(Model)
non_cached_fields = v1.get_model_fields(Model)
non_cached_fields2 = v1.get_model_fields(Model)
cached_fields = get_cached_model_fields(Model)
cached_fields2 = get_cached_model_fields(Model)
for f1, f2 in zip(cached_fields, cached_fields2):

Loading…
Cancel
Save