Skip to content

Commit 1b7ddd8

Browse files
committed
test: move test
1 parent 822815d commit 1b7ddd8

1 file changed

Lines changed: 13 additions & 26 deletions

File tree

tests/test_extension.py

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ def regular_method(self):
5555
5656
class RegularClass(object):
5757
regular_attr = 1
58+
59+
class AliasClass(BaseModel):
60+
internal_name: str = Field(default="test", serialization_alias="external_name")
61+
regular_field: int = Field(default=42)
5862
"""
5963

6064

@@ -65,7 +69,7 @@ def test_extension(analysis: str) -> None:
6569
with loader(
6670
"package",
6771
modules={"__init__.py": code},
68-
extensions=Extensions(PydanticExtension(schema=True)),
72+
extensions=Extensions(PydanticExtension(schema=True, serialize_by_alias=True)),
6973
search_sys_path=analysis == "dynamic",
7074
) as package:
7175
assert package
@@ -82,6 +86,14 @@ def test_extension(analysis: str) -> None:
8286
schema = package.classes["ExampleModel"].extra["griffe_pydantic"]["schema"]
8387
assert schema.startswith('{\n "description"')
8488

89+
assert "AliasClass" in package.classes
90+
assert package.classes["AliasClass"].labels == {"pydantic-model"}
91+
92+
fields = package.classes["AliasClass"].extra["griffe_pydantic"]["fields"]()
93+
assert "internal_name" not in fields
94+
assert "regular_field" in fields
95+
assert "external_name" in fields
96+
8597

8698
def test_imported_models() -> None:
8799
"""Test the extension with imported models."""
@@ -407,28 +419,3 @@ class Model(BaseModel):
407419
assert "internal_name" in fields
408420
assert "regular_field" in fields
409421
assert "external_name" not in fields
410-
411-
412-
@pytest.mark.parametrize("analysis", ["static", "dynamic"])
413-
def test_serialize_by_alias_enabled(analysis: str) -> None:
414-
"""Test that serialize_by_alias extension setting uses serialization_alias as the field name."""
415-
code = """
416-
from pydantic import BaseModel, Field
417-
418-
class Model(BaseModel):
419-
internal_name: str = Field(default="test", serialization_alias="external_name")
420-
regular_field: int = Field(default=42)
421-
"""
422-
with temporary_visited_package(
423-
"package",
424-
modules={"__init__.py": code},
425-
extensions=Extensions(PydanticExtension(schema=False, serialize_by_alias=True)),
426-
) as package:
427-
428-
model = package["Model"]
429-
assert model.labels == {"pydantic-model"}
430-
431-
fields = model.extra["griffe_pydantic"]["fields"]()
432-
assert "internal_name" not in fields
433-
assert "regular_field" in fields
434-
assert "external_name" in fields

0 commit comments

Comments
 (0)