Browse Source

Reducing tests.

pull/13639/head
Lukas Rajala 1 week ago
parent
commit
93795069e3
  1. 65
      tests/test_openapi_schema_type.py

65
tests/test_openapi_schema_type.py

@ -1,50 +1,27 @@
import itertools from typing import List, Optional, Union
from typing import List
import pytest import pytest
from fastapi.openapi.constants import TypeValue from fastapi.openapi.constants import TypeValue
from fastapi.openapi.models import Schema from fastapi.openapi.models import Schema
# Define all possible type values
TYPE_VALUES: List[TypeValue] = [
"array",
"boolean",
"integer",
"null",
"number",
"object",
"string",
]
# Generate all combinations of 2 or more types
TYPE_COMBINATIONS = [
list(combo)
for size in range(2, len(TYPE_VALUES) + 1)
for combo in itertools.combinations(TYPE_VALUES, size)
]
@pytest.mark.parametrize("type_val", TYPE_VALUES)
def test_schema_type_single_type_value(type_val: TypeValue) -> None:
"""Test that Schema accepts single TypeValue for type field."""
schema = Schema(type=type_val)
assert schema.type == type_val
@pytest.mark.parametrize("type_list", TYPE_COMBINATIONS) @pytest.mark.parametrize(
def test_schema_type_multiple_type_value(type_list: List[TypeValue]) -> None: "type_value",
"""Test all possible combinations of TypeValue for Schema type field.""" [
schema = Schema(type=type_list) "array",
assert schema.type == type_list ["string", "null"],
None,
],
def test_schema_type_none_value() -> None: )
"""Test that Schema accepts None for type field (Optional).""" def test_allowed_schema_type(
schema = Schema(type=None) type_value: Optional[Union[TypeValue, List[TypeValue]]],
assert schema.type is None ) -> None:
"""Test that Schema accepts TypeValue, List[TypeValue] and None for type field."""
schema = Schema(type=type_value)
def test_schema_default_type() -> None: assert schema.type == type_value
"""Test that Schema defaults to None for type field if not specified."""
schema_default = Schema()
assert schema_default.type is None def test_invlid_type_value() -> None:
"""Test that Schema raises ValueError for invalid type values."""
with pytest.raises(ValueError, match="2 validation errors for Schema"):
Schema(type=True) # type: ignore[arg-type]

Loading…
Cancel
Save