@@ -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
8698def 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