Skip to content

Commit 74c03a9

Browse files
committed
Prefer property name instead of title for class name
Not doing so breaks reference resolution in case the title doesn't match the property name.
1 parent 93723dd commit 74c03a9

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

openapi_python_client/parser/properties/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ def build_model_property(
251251
optional_properties: List[Property] = []
252252
relative_imports: Set[str] = set()
253253

254-
class_name = data.title or name
254+
class_name = name or data.title
255255
if parent_name:
256256
class_name = f"{utils.pascal_case(parent_name)}{utils.pascal_case(class_name)}"
257257
ref = Reference.from_ref(class_name)

tests/test_parser/test_properties/test_init.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1083,14 +1083,14 @@ def test_build_model_property(additional_properties_schema, expected_additional_
10831083
assert new_schemas != schemas
10841084
assert new_schemas.models == {
10851085
"OtherModel": None,
1086-
"ParentMyModel": model,
1086+
"ParentProp": model,
10871087
}
10881088
assert model == ModelProperty(
10891089
name="prop",
10901090
required=True,
10911091
nullable=False,
10921092
default=None,
1093-
reference=Reference(class_name="ParentMyModel", module_name="parent_my_model"),
1093+
reference=Reference(class_name="ParentProp", module_name="parent_prop"),
10941094
required_properties=[StringProperty(name="req", required=True, nullable=False, default=None)],
10951095
optional_properties=[DateTimeProperty(name="opt", required=False, nullable=False, default=None)],
10961096
description=data.description,

0 commit comments

Comments
 (0)