|
1 | 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP |
2 | 2 |
|
| 3 | +exports[`PYTHON_PYDANTIC_PRESET should always set alias 1`] = ` |
| 4 | +Array [ |
| 5 | + "class AliasTest(BaseModel): |
| 6 | + test_alias: str = Field(alias='''testAlias''') |
| 7 | + additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
| 8 | +
|
| 9 | + @model_serializer(mode='wrap') |
| 10 | + def custom_serializer(self, handler): |
| 11 | + serialized_self = handler(self) |
| 12 | + additional_properties = getattr(self, \\"additional_properties\\") |
| 13 | + if additional_properties is not None: |
| 14 | + for key, value in additional_properties.items(): |
| 15 | + # Never overwrite existing values, to avoid clashes |
| 16 | + if not hasattr(serialized_self, key): |
| 17 | + serialized_self[key] = value |
| 18 | +
|
| 19 | + return serialized_self |
| 20 | +
|
| 21 | + @model_validator(mode='before') |
| 22 | + @classmethod |
| 23 | + def unwrap_additional_properties(cls, data): |
| 24 | + if not isinstance(data, dict): |
| 25 | + data = data.model_dump() |
| 26 | + json_properties = list(data.keys()) |
| 27 | + known_object_properties = ['test_alias', 'additional_properties'] |
| 28 | + unknown_object_properties = [element for element in json_properties if element not in known_object_properties] |
| 29 | + # Ignore attempts that validate regular models, only when unknown input is used we add unwrap extensions |
| 30 | + if len(unknown_object_properties) == 0: |
| 31 | + return data |
| 32 | + |
| 33 | + known_json_properties = ['testAlias', 'additionalProperties'] |
| 34 | + additional_properties = data.get('additional_properties', {}) |
| 35 | + for obj_key in list(data.keys()): |
| 36 | + if not known_json_properties.__contains__(obj_key): |
| 37 | + additional_properties[obj_key] = data.pop(obj_key, None) |
| 38 | + data['additional_properties'] = additional_properties |
| 39 | + return data |
| 40 | +
|
| 41 | +", |
| 42 | +] |
| 43 | +`; |
| 44 | + |
3 | 45 | exports[`PYTHON_PYDANTIC_PRESET should render default value for discriminator when using polymorphism 1`] = ` |
4 | 46 | Array [ |
5 | 47 | "", |
6 | 48 | "class Car(BaseModel): |
7 | | - vehicle_type: VehicleType = Field(default=VehicleType.CAR, frozen=True) |
| 49 | + vehicle_type: VehicleType = Field(default=VehicleType.CAR, frozen=True, alias='''vehicleType''') |
8 | 50 | length: Optional[float] = Field(default=None) |
9 | 51 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
10 | 52 |
|
@@ -45,7 +87,7 @@ Array [ |
45 | 87 | CAR = \\"Car\\" |
46 | 88 | TRUCK = \\"Truck\\"", |
47 | 89 | "class Truck(BaseModel): |
48 | | - vehicle_type: VehicleType = Field(default=VehicleType.TRUCK, frozen=True) |
| 90 | + vehicle_type: VehicleType = Field(default=VehicleType.TRUCK, frozen=True, alias='''vehicleType''') |
49 | 91 | length: Optional[float] = Field(default=None) |
50 | 92 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
51 | 93 |
|
@@ -88,7 +130,7 @@ Array [ |
88 | 130 | exports[`PYTHON_PYDANTIC_PRESET should render nullable union 1`] = ` |
89 | 131 | Array [ |
90 | 132 | "class NullableUnionTest(BaseModel): |
91 | | - nullable_union_test: Optional[Union[Union1]] = Field(default=None) |
| 133 | + nullable_union_test: Optional[Union[Union1]] = Field(default=None, alias='''nullableUnionTest''') |
92 | 134 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
93 | 135 |
|
94 | 136 | @model_serializer(mode='wrap') |
@@ -125,7 +167,7 @@ Array [ |
125 | 167 |
|
126 | 168 | ", |
127 | 169 | "class Union1(BaseModel): |
128 | | - test_prop1: Optional[str] = Field(default=None) |
| 170 | + test_prop1: Optional[str] = Field(default=None, alias='''testProp1''') |
129 | 171 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
130 | 172 |
|
131 | 173 | @model_serializer(mode='wrap') |
@@ -210,7 +252,7 @@ exports[`PYTHON_PYDANTIC_PRESET should render pydantic for class 1`] = ` |
210 | 252 | exports[`PYTHON_PYDANTIC_PRESET should render union to support Python < 3.10 1`] = ` |
211 | 253 | Array [ |
212 | 254 | "class UnionTest(BaseModel): |
213 | | - union_test: Optional[Union[Union1, Union2]] = Field(default=None) |
| 255 | + union_test: Optional[Union[Union1, Union2]] = Field(default=None, alias='''unionTest''') |
214 | 256 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
215 | 257 |
|
216 | 258 | @model_serializer(mode='wrap') |
@@ -247,7 +289,7 @@ Array [ |
247 | 289 |
|
248 | 290 | ", |
249 | 291 | "class Union1(BaseModel): |
250 | | - test_prop1: Optional[str] = Field(default=None) |
| 292 | + test_prop1: Optional[str] = Field(default=None, alias='''testProp1''') |
251 | 293 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
252 | 294 |
|
253 | 295 | @model_serializer(mode='wrap') |
@@ -284,7 +326,7 @@ Array [ |
284 | 326 |
|
285 | 327 | ", |
286 | 328 | "class Union2(BaseModel): |
287 | | - test_prop2: Optional[str] = Field(default=None) |
| 329 | + test_prop2: Optional[str] = Field(default=None, alias='''testProp2''') |
288 | 330 | additional_properties: Optional[dict[str, Any]] = Field(default=None, exclude=True) |
289 | 331 |
|
290 | 332 | @model_serializer(mode='wrap') |
|
0 commit comments