diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java index 83f5ac1fb76..0c5a3838a82 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java @@ -958,8 +958,10 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co for (Map enumVars : (List>) model.getAllowableValues().get("enumVars")) { if ((Boolean) enumVars.get("isString")) { model.vendorExtensions.putIfAbsent("x-py-enum-type", "str"); - // update `name`, e.g. - enumVars.put("name", toEnumVariableName((String) enumVars.get("value"), "str")); + // Do not overwrite the variable name if already set through x-enum-varnames + if (model.vendorExtensions.get("x-enum-varnames") == null) { + enumVars.put("name", toEnumVariableName((String) enumVars.get("value"), "str")); + } } else { model.vendorExtensions.putIfAbsent("x-py-enum-type", "int"); // Do not overwrite the variable name if already set through x-enum-varnames diff --git a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml index 59d623ec896..98f1b124604 100644 --- a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml @@ -2102,35 +2102,6 @@ components: enum: - 1.1 - -1.2 - enum_number_vendor_ext: - type: integer - format: int32 - enum: - - 42 - - 18 - - 56 - x-enum-descriptions: - - 'Description for 42' - - 'Description for 18' - - 'Description for 56' - x-enum-varnames: - - FortyTwo - - Eigtheen - - FiftySix - enum_string_vendor_ext: - type: string - enum: - - FOO - - Bar - - baz - x-enum-descriptions: - - 'Description for FOO' - - 'Description for Bar' - - 'Description for baz' - x-enum-varnames: - - FOOVar - - BarVar - - bazVar enum_string_single_member: type: string enum: @@ -2148,6 +2119,10 @@ components: $ref: '#/components/schemas/OuterEnumDefaultValue' outerEnumIntegerDefaultValue: $ref: '#/components/schemas/OuterEnumIntegerDefaultValue' + enumNumberVendorExt: + $ref: '#/components/schemas/EnumNumberVendorExt' + enumStringVendorExt: + $ref: '#/components/schemas/EnumStringVendorExt' AdditionalPropertiesClass: type: object properties: @@ -2339,6 +2314,35 @@ components: - 1 - 2 example: 2 + EnumNumberVendorExt: + type: integer + format: int32 + enum: + - 42 + - 18 + - 56 + x-enum-descriptions: + - 'Description for 42' + - 'Description for 18' + - 'Description for 56' + x-enum-varnames: + - FortyTwo + - Eigtheen + - FiftySix + EnumStringVendorExt: + type: string + enum: + - FOO + - Bar + - baz + x-enum-descriptions: + - 'Description for FOO' + - 'Description for Bar' + - 'Description for baz' + x-enum-varnames: + - FOO_XEnumVarname + - BarVar_XEnumVarname + - bazVar_XEnumVarname OuterEnumDefaultValue: type: string enum: diff --git a/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES index ffbffbcee5f..e9cb10689de 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES @@ -39,8 +39,10 @@ docs/Dog.md docs/DummyModel.md docs/EnumArrays.md docs/EnumClass.md +docs/EnumNumberVendorExt.md docs/EnumString1.md docs/EnumString2.md +docs/EnumStringVendorExt.md docs/EnumTest.md docs/FakeApi.md docs/FakeClassnameTags123Api.md @@ -167,8 +169,10 @@ petstore_api/models/dog.py petstore_api/models/dummy_model.py petstore_api/models/enum_arrays.py petstore_api/models/enum_class.py +petstore_api/models/enum_number_vendor_ext.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py +petstore_api/models/enum_string_vendor_ext.py petstore_api/models/enum_test.py petstore_api/models/feeding.py petstore_api/models/file.py diff --git a/samples/openapi3/client/petstore/python-aiohttp/README.md b/samples/openapi3/client/petstore/python-aiohttp/README.md index dcfe63d69e4..55b51449a6e 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/README.md +++ b/samples/openapi3/client/petstore/python-aiohttp/README.md @@ -185,8 +185,10 @@ Class | Method | HTTP request | Description - [DummyModel](docs/DummyModel.md) - [EnumArrays](docs/EnumArrays.md) - [EnumClass](docs/EnumClass.md) + - [EnumNumberVendorExt](docs/EnumNumberVendorExt.md) - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) + - [EnumStringVendorExt](docs/EnumStringVendorExt.md) - [EnumTest](docs/EnumTest.md) - [Feeding](docs/Feeding.md) - [File](docs/File.md) diff --git a/samples/openapi3/client/petstore/python-aiohttp/docs/EnumNumberVendorExt.md b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumNumberVendorExt.md new file mode 100644 index 00000000000..4c1572b1d27 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumNumberVendorExt.md @@ -0,0 +1,14 @@ +# EnumNumberVendorExt + + +## Enum + +* `FortyTwo` (value: `42`) + +* `Eigtheen` (value: `18`) + +* `FiftySix` (value: `56`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/docs/EnumStringVendorExt.md b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumStringVendorExt.md new file mode 100644 index 00000000000..ce6077c18a3 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumStringVendorExt.md @@ -0,0 +1,14 @@ +# EnumStringVendorExt + + +## Enum + +* `FOO_XEnumVarname` (value: `'FOO'`) + +* `BarVar_XEnumVarname` (value: `'Bar'`) + +* `bazVar_XEnumVarname` (value: `'baz'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/docs/EnumTest.md b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumTest.md index 8a3874d1737..9f96c605d88 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/docs/EnumTest.md +++ b/samples/openapi3/client/petstore/python-aiohttp/docs/EnumTest.md @@ -10,14 +10,14 @@ Name | Type | Description | Notes **enum_integer_default** | **int** | | [optional] [default to 5] **enum_integer** | **int** | | [optional] **enum_number** | **float** | | [optional] -**enum_number_vendor_ext** | **int** | | [optional] -**enum_string_vendor_ext** | **str** | | [optional] **enum_string_single_member** | **str** | | [optional] **enum_integer_single_member** | **int** | | [optional] **outer_enum** | [**OuterEnum**](OuterEnum.md) | | [optional] **outer_enum_integer** | [**OuterEnumInteger**](OuterEnumInteger.md) | | [optional] **outer_enum_default_value** | [**OuterEnumDefaultValue**](OuterEnumDefaultValue.md) | | [optional] [default to OuterEnumDefaultValue.PLACED] **outer_enum_integer_default_value** | [**OuterEnumIntegerDefaultValue**](OuterEnumIntegerDefaultValue.md) | | [optional] [default to OuterEnumIntegerDefaultValue.NUMBER_0] +**enum_number_vendor_ext** | [**EnumNumberVendorExt**](EnumNumberVendorExt.md) | | [optional] +**enum_string_vendor_ext** | [**EnumStringVendorExt**](EnumStringVendorExt.md) | | [optional] ## Example diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py index d7871f3e246..9036b7a8742 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py @@ -73,8 +73,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py index 130555c8236..fc1f4acbdaf 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py @@ -48,8 +48,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_number_vendor_ext.py new file mode 100644 index 00000000000..5588de5c704 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_number_vendor_ext.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumNumberVendorExt(int, Enum): + """ + EnumNumberVendorExt + """ + + """ + allowed enum values + """ + FortyTwo = 42 + Eigtheen = 18 + FiftySix = 56 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumNumberVendorExt from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_string_vendor_ext.py new file mode 100644 index 00000000000..821812e9b08 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_string_vendor_ext.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumStringVendorExt(str, Enum): + """ + EnumStringVendorExt + """ + + """ + allowed enum values + """ + FOO_XEnumVarname = 'FOO' + BarVar_XEnumVarname = 'Bar' + bazVar_XEnumVarname = 'baz' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumStringVendorExt from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_test.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_test.py index 8d524d96f44..b7e6ec36230 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_test.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/enum_test.py @@ -19,6 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.outer_enum import OuterEnum from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue from petstore_api.models.outer_enum_integer import OuterEnumInteger @@ -35,15 +37,15 @@ class EnumTest(BaseModel): enum_integer_default: Optional[StrictInt] = 5 enum_integer: Optional[StrictInt] = None enum_number: Optional[float] = None - enum_number_vendor_ext: Optional[StrictInt] = None - enum_string_vendor_ext: Optional[StrictStr] = None enum_string_single_member: Optional[StrictStr] = None enum_integer_single_member: Optional[StrictInt] = None outer_enum: Optional[OuterEnum] = Field(default=None, alias="outerEnum") outer_enum_integer: Optional[OuterEnumInteger] = Field(default=None, alias="outerEnumInteger") outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(default=OuterEnumDefaultValue.PLACED, alias="outerEnumDefaultValue") outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(default=OuterEnumIntegerDefaultValue.NUMBER_0, alias="outerEnumIntegerDefaultValue") - __properties: ClassVar[List[str]] = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_number_vendor_ext", "enum_string_vendor_ext", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue"] + enum_number_vendor_ext: Optional[EnumNumberVendorExt] = Field(default=None, alias="enumNumberVendorExt") + enum_string_vendor_ext: Optional[EnumStringVendorExt] = Field(default=None, alias="enumStringVendorExt") + __properties: ClassVar[List[str]] = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue", "enumNumberVendorExt", "enumStringVendorExt"] @field_validator('enum_string') def enum_string_validate_enum(cls, value): @@ -92,26 +94,6 @@ class EnumTest(BaseModel): raise ValueError("must be one of enum values (1.1, -1.2)") return value - @field_validator('enum_number_vendor_ext') - def enum_number_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set([42, 18, 56]): - raise ValueError("must be one of enum values (42, 18, 56)") - return value - - @field_validator('enum_string_vendor_ext') - def enum_string_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set(['FOO', 'Bar', 'baz']): - raise ValueError("must be one of enum values ('FOO', 'Bar', 'baz')") - return value - @field_validator('enum_string_single_member') def enum_string_single_member_validate_enum(cls, value): """Validates the enum""" @@ -193,14 +175,14 @@ class EnumTest(BaseModel): "enum_integer_default": obj.get("enum_integer_default") if obj.get("enum_integer_default") is not None else 5, "enum_integer": obj.get("enum_integer"), "enum_number": obj.get("enum_number"), - "enum_number_vendor_ext": obj.get("enum_number_vendor_ext"), - "enum_string_vendor_ext": obj.get("enum_string_vendor_ext"), "enum_string_single_member": obj.get("enum_string_single_member"), "enum_integer_single_member": obj.get("enum_integer_single_member"), "outerEnum": obj.get("outerEnum"), "outerEnumInteger": obj.get("outerEnumInteger"), "outerEnumDefaultValue": obj.get("outerEnumDefaultValue") if obj.get("outerEnumDefaultValue") is not None else OuterEnumDefaultValue.PLACED, - "outerEnumIntegerDefaultValue": obj.get("outerEnumIntegerDefaultValue") if obj.get("outerEnumIntegerDefaultValue") is not None else OuterEnumIntegerDefaultValue.NUMBER_0 + "outerEnumIntegerDefaultValue": obj.get("outerEnumIntegerDefaultValue") if obj.get("outerEnumIntegerDefaultValue") is not None else OuterEnumIntegerDefaultValue.NUMBER_0, + "enumNumberVendorExt": obj.get("enumNumberVendorExt"), + "enumStringVendorExt": obj.get("enumStringVendorExt") }) return _obj diff --git a/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_number_vendor_ext.py new file mode 100644 index 00000000000..62ff78318c7 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_number_vendor_ext.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt + +class TestEnumNumberVendorExt(unittest.TestCase): + """EnumNumberVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumNumberVendorExt(self): + """Test EnumNumberVendorExt""" + # inst = EnumNumberVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_string_vendor_ext.py new file mode 100644 index 00000000000..e82d7957d34 --- /dev/null +++ b/samples/openapi3/client/petstore/python-aiohttp/test/test_enum_string_vendor_ext.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt + +class TestEnumStringVendorExt(unittest.TestCase): + """EnumStringVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumStringVendorExt(self): + """Test EnumStringVendorExt""" + # inst = EnumStringVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES index fc3e3d62b54..2e28d350da1 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/.openapi-generator/FILES @@ -40,8 +40,10 @@ docs/Dog.md docs/DummyModel.md docs/EnumArrays.md docs/EnumClass.md +docs/EnumNumberVendorExt.md docs/EnumString1.md docs/EnumString2.md +docs/EnumStringVendorExt.md docs/EnumTest.md docs/FakeApi.md docs/FakeClassnameTags123Api.md @@ -168,8 +170,10 @@ petstore_api/models/dog.py petstore_api/models/dummy_model.py petstore_api/models/enum_arrays.py petstore_api/models/enum_class.py +petstore_api/models/enum_number_vendor_ext.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py +petstore_api/models/enum_string_vendor_ext.py petstore_api/models/enum_test.py petstore_api/models/feeding.py petstore_api/models/field.py diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md index e819e5187b9..ee90866eeb6 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/README.md @@ -187,8 +187,10 @@ Class | Method | HTTP request | Description - [DummyModel](docs/DummyModel.md) - [EnumArrays](docs/EnumArrays.md) - [EnumClass](docs/EnumClass.md) + - [EnumNumberVendorExt](docs/EnumNumberVendorExt.md) - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) + - [EnumStringVendorExt](docs/EnumStringVendorExt.md) - [EnumTest](docs/EnumTest.md) - [Feeding](docs/Feeding.md) - [Field](docs/Field.md) diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumNumberVendorExt.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumNumberVendorExt.md new file mode 100644 index 00000000000..0c77b090abf --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumNumberVendorExt.md @@ -0,0 +1,14 @@ +# EnumNumberVendorExt + + +## Enum + +* `NUMBER_42` (value: `42`) + +* `NUMBER_18` (value: `18`) + +* `NUMBER_56` (value: `56`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumStringVendorExt.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumStringVendorExt.md new file mode 100644 index 00000000000..8abb456b402 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumStringVendorExt.md @@ -0,0 +1,14 @@ +# EnumStringVendorExt + + +## Enum + +* `FOO` (value: `'FOO'`) + +* `BAR` (value: `'Bar'`) + +* `BAZ` (value: `'baz'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumTest.md b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumTest.md index 72470ff0c31..34ec6193b31 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumTest.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/docs/EnumTest.md @@ -9,14 +9,14 @@ Name | Type | Description | Notes **enum_integer_default** | **int** | | [optional] [default to 5] **enum_integer** | **int** | | [optional] **enum_number** | **float** | | [optional] -**enum_number_vendor_ext** | **int** | | [optional] -**enum_string_vendor_ext** | **str** | | [optional] **enum_string_single_member** | **str** | | [optional] **enum_integer_single_member** | **int** | | [optional] **outer_enum** | [**OuterEnum**](OuterEnum.md) | | [optional] **outer_enum_integer** | [**OuterEnumInteger**](OuterEnumInteger.md) | | [optional] **outer_enum_default_value** | [**OuterEnumDefaultValue**](OuterEnumDefaultValue.md) | | [optional] **outer_enum_integer_default_value** | [**OuterEnumIntegerDefaultValue**](OuterEnumIntegerDefaultValue.md) | | [optional] +**enum_number_vendor_ext** | [**EnumNumberVendorExt**](EnumNumberVendorExt.md) | | [optional] +**enum_string_vendor_ext** | [**EnumStringVendorExt**](EnumStringVendorExt.md) | | [optional] ## Example diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py index 330c529ec6f..0a4eca2f3b0 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/__init__.py @@ -74,8 +74,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py index 1a3ad2e2949..91f0aad8026 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/__init__.py @@ -49,8 +49,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_number_vendor_ext.py new file mode 100644 index 00000000000..b49e6ca339f --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_number_vendor_ext.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumNumberVendorExt(int, Enum): + """ + EnumNumberVendorExt + """ + + """ + allowed enum values + """ + NUMBER_42 = 42 + NUMBER_18 = 18 + NUMBER_56 = 56 + + @classmethod + def from_json(cls, json_str: str) -> EnumNumberVendorExt: + """Create an instance of EnumNumberVendorExt from a JSON string""" + return EnumNumberVendorExt(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_string_vendor_ext.py new file mode 100644 index 00000000000..ac33490efe1 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_string_vendor_ext.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumStringVendorExt(str, Enum): + """ + EnumStringVendorExt + """ + + """ + allowed enum values + """ + FOO = 'FOO' + BAR = 'Bar' + BAZ = 'baz' + + @classmethod + def from_json(cls, json_str: str) -> EnumStringVendorExt: + """Create an instance of EnumStringVendorExt from a JSON string""" + return EnumStringVendorExt(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_test.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_test.py index 5df6a535f19..40247e27647 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_test.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/petstore_api/models/enum_test.py @@ -20,6 +20,8 @@ import json from typing import Optional from pydantic import BaseModel, Field, StrictInt, StrictStr, validator +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.outer_enum import OuterEnum from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue from petstore_api.models.outer_enum_integer import OuterEnumInteger @@ -34,15 +36,15 @@ class EnumTest(BaseModel): enum_integer_default: Optional[StrictInt] = 5 enum_integer: Optional[StrictInt] = None enum_number: Optional[float] = None - enum_number_vendor_ext: Optional[StrictInt] = None - enum_string_vendor_ext: Optional[StrictStr] = None enum_string_single_member: Optional[StrictStr] = None enum_integer_single_member: Optional[StrictInt] = None outer_enum: Optional[OuterEnum] = Field(default=None, alias="outerEnum") outer_enum_integer: Optional[OuterEnumInteger] = Field(default=None, alias="outerEnumInteger") outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(default=None, alias="outerEnumDefaultValue") outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(default=None, alias="outerEnumIntegerDefaultValue") - __properties = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_number_vendor_ext", "enum_string_vendor_ext", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue"] + enum_number_vendor_ext: Optional[EnumNumberVendorExt] = Field(default=None, alias="enumNumberVendorExt") + enum_string_vendor_ext: Optional[EnumStringVendorExt] = Field(default=None, alias="enumStringVendorExt") + __properties = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue", "enumNumberVendorExt", "enumStringVendorExt"] @validator('enum_string') def enum_string_validate_enum(cls, value): @@ -91,26 +93,6 @@ class EnumTest(BaseModel): raise ValueError("must be one of enum values (1.1, -1.2)") return value - @validator('enum_number_vendor_ext') - def enum_number_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in (42, 18, 56,): - raise ValueError("must be one of enum values (42, 18, 56)") - return value - - @validator('enum_string_vendor_ext') - def enum_string_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in ('FOO', 'Bar', 'baz',): - raise ValueError("must be one of enum values ('FOO', 'Bar', 'baz')") - return value - @validator('enum_string_single_member') def enum_string_single_member_validate_enum(cls, value): """Validates the enum""" @@ -177,14 +159,14 @@ class EnumTest(BaseModel): "enum_integer_default": obj.get("enum_integer_default") if obj.get("enum_integer_default") is not None else 5, "enum_integer": obj.get("enum_integer"), "enum_number": obj.get("enum_number"), - "enum_number_vendor_ext": obj.get("enum_number_vendor_ext"), - "enum_string_vendor_ext": obj.get("enum_string_vendor_ext"), "enum_string_single_member": obj.get("enum_string_single_member"), "enum_integer_single_member": obj.get("enum_integer_single_member"), "outer_enum": obj.get("outerEnum"), "outer_enum_integer": obj.get("outerEnumInteger"), "outer_enum_default_value": obj.get("outerEnumDefaultValue"), - "outer_enum_integer_default_value": obj.get("outerEnumIntegerDefaultValue") + "outer_enum_integer_default_value": obj.get("outerEnumIntegerDefaultValue"), + "enum_number_vendor_ext": obj.get("enumNumberVendorExt"), + "enum_string_vendor_ext": obj.get("enumStringVendorExt") }) return _obj diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_number_vendor_ext.py new file mode 100644 index 00000000000..b97aaf537c0 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_number_vendor_ext.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt # noqa: E501 + +class TestEnumNumberVendorExt(unittest.TestCase): + """EnumNumberVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumNumberVendorExt(self): + """Test EnumNumberVendorExt""" + # inst = EnumNumberVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_string_vendor_ext.py new file mode 100644 index 00000000000..bf9ebcb8bfc --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/test/test_enum_string_vendor_ext.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt # noqa: E501 + +class TestEnumStringVendorExt(unittest.TestCase): + """EnumStringVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumStringVendorExt(self): + """Test EnumStringVendorExt""" + # inst = EnumStringVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES b/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES index fc3e3d62b54..2e28d350da1 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python-pydantic-v1/.openapi-generator/FILES @@ -40,8 +40,10 @@ docs/Dog.md docs/DummyModel.md docs/EnumArrays.md docs/EnumClass.md +docs/EnumNumberVendorExt.md docs/EnumString1.md docs/EnumString2.md +docs/EnumStringVendorExt.md docs/EnumTest.md docs/FakeApi.md docs/FakeClassnameTags123Api.md @@ -168,8 +170,10 @@ petstore_api/models/dog.py petstore_api/models/dummy_model.py petstore_api/models/enum_arrays.py petstore_api/models/enum_class.py +petstore_api/models/enum_number_vendor_ext.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py +petstore_api/models/enum_string_vendor_ext.py petstore_api/models/enum_test.py petstore_api/models/feeding.py petstore_api/models/field.py diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/README.md b/samples/openapi3/client/petstore/python-pydantic-v1/README.md index 57e2a3059fa..6ed72198544 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/README.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1/README.md @@ -187,8 +187,10 @@ Class | Method | HTTP request | Description - [DummyModel](docs/DummyModel.md) - [EnumArrays](docs/EnumArrays.md) - [EnumClass](docs/EnumClass.md) + - [EnumNumberVendorExt](docs/EnumNumberVendorExt.md) - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) + - [EnumStringVendorExt](docs/EnumStringVendorExt.md) - [EnumTest](docs/EnumTest.md) - [Feeding](docs/Feeding.md) - [Field](docs/Field.md) diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumNumberVendorExt.md b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumNumberVendorExt.md new file mode 100644 index 00000000000..0c77b090abf --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumNumberVendorExt.md @@ -0,0 +1,14 @@ +# EnumNumberVendorExt + + +## Enum + +* `NUMBER_42` (value: `42`) + +* `NUMBER_18` (value: `18`) + +* `NUMBER_56` (value: `56`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumStringVendorExt.md b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumStringVendorExt.md new file mode 100644 index 00000000000..8abb456b402 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumStringVendorExt.md @@ -0,0 +1,14 @@ +# EnumStringVendorExt + + +## Enum + +* `FOO` (value: `'FOO'`) + +* `BAR` (value: `'Bar'`) + +* `BAZ` (value: `'baz'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumTest.md b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumTest.md index 72470ff0c31..34ec6193b31 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumTest.md +++ b/samples/openapi3/client/petstore/python-pydantic-v1/docs/EnumTest.md @@ -9,14 +9,14 @@ Name | Type | Description | Notes **enum_integer_default** | **int** | | [optional] [default to 5] **enum_integer** | **int** | | [optional] **enum_number** | **float** | | [optional] -**enum_number_vendor_ext** | **int** | | [optional] -**enum_string_vendor_ext** | **str** | | [optional] **enum_string_single_member** | **str** | | [optional] **enum_integer_single_member** | **int** | | [optional] **outer_enum** | [**OuterEnum**](OuterEnum.md) | | [optional] **outer_enum_integer** | [**OuterEnumInteger**](OuterEnumInteger.md) | | [optional] **outer_enum_default_value** | [**OuterEnumDefaultValue**](OuterEnumDefaultValue.md) | | [optional] **outer_enum_integer_default_value** | [**OuterEnumIntegerDefaultValue**](OuterEnumIntegerDefaultValue.md) | | [optional] +**enum_number_vendor_ext** | [**EnumNumberVendorExt**](EnumNumberVendorExt.md) | | [optional] +**enum_string_vendor_ext** | [**EnumStringVendorExt**](EnumStringVendorExt.md) | | [optional] ## Example diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py index 330c529ec6f..0a4eca2f3b0 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/__init__.py @@ -74,8 +74,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py index 1a3ad2e2949..91f0aad8026 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/__init__.py @@ -49,8 +49,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.field import Field diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_number_vendor_ext.py new file mode 100644 index 00000000000..b49e6ca339f --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_number_vendor_ext.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumNumberVendorExt(int, Enum): + """ + EnumNumberVendorExt + """ + + """ + allowed enum values + """ + NUMBER_42 = 42 + NUMBER_18 = 18 + NUMBER_56 = 56 + + @classmethod + def from_json(cls, json_str: str) -> EnumNumberVendorExt: + """Create an instance of EnumNumberVendorExt from a JSON string""" + return EnumNumberVendorExt(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_string_vendor_ext.py new file mode 100644 index 00000000000..ac33490efe1 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_string_vendor_ext.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import pprint +import re # noqa: F401 +from aenum import Enum, no_arg + + + + + +class EnumStringVendorExt(str, Enum): + """ + EnumStringVendorExt + """ + + """ + allowed enum values + """ + FOO = 'FOO' + BAR = 'Bar' + BAZ = 'baz' + + @classmethod + def from_json(cls, json_str: str) -> EnumStringVendorExt: + """Create an instance of EnumStringVendorExt from a JSON string""" + return EnumStringVendorExt(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_test.py b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_test.py index 6dfb92bfe94..bd18624a5d0 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_test.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/petstore_api/models/enum_test.py @@ -20,6 +20,8 @@ import json from typing import Any, Dict, Optional from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, validator +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.outer_enum import OuterEnum from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue from petstore_api.models.outer_enum_integer import OuterEnumInteger @@ -34,16 +36,16 @@ class EnumTest(BaseModel): enum_integer_default: Optional[StrictInt] = 5 enum_integer: Optional[StrictInt] = None enum_number: Optional[StrictFloat] = None - enum_number_vendor_ext: Optional[StrictInt] = None - enum_string_vendor_ext: Optional[StrictStr] = None enum_string_single_member: Optional[StrictStr] = None enum_integer_single_member: Optional[StrictInt] = None outer_enum: Optional[OuterEnum] = Field(default=None, alias="outerEnum") outer_enum_integer: Optional[OuterEnumInteger] = Field(default=None, alias="outerEnumInteger") outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(default=None, alias="outerEnumDefaultValue") outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(default=None, alias="outerEnumIntegerDefaultValue") + enum_number_vendor_ext: Optional[EnumNumberVendorExt] = Field(default=None, alias="enumNumberVendorExt") + enum_string_vendor_ext: Optional[EnumStringVendorExt] = Field(default=None, alias="enumStringVendorExt") additional_properties: Dict[str, Any] = {} - __properties = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_number_vendor_ext", "enum_string_vendor_ext", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue"] + __properties = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue", "enumNumberVendorExt", "enumStringVendorExt"] @validator('enum_string') def enum_string_validate_enum(cls, value): @@ -92,26 +94,6 @@ class EnumTest(BaseModel): raise ValueError("must be one of enum values (1.1, -1.2)") return value - @validator('enum_number_vendor_ext') - def enum_number_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in (42, 18, 56,): - raise ValueError("must be one of enum values (42, 18, 56)") - return value - - @validator('enum_string_vendor_ext') - def enum_string_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in ('FOO', 'Bar', 'baz',): - raise ValueError("must be one of enum values ('FOO', 'Bar', 'baz')") - return value - @validator('enum_string_single_member') def enum_string_single_member_validate_enum(cls, value): """Validates the enum""" @@ -184,14 +166,14 @@ class EnumTest(BaseModel): "enum_integer_default": obj.get("enum_integer_default") if obj.get("enum_integer_default") is not None else 5, "enum_integer": obj.get("enum_integer"), "enum_number": obj.get("enum_number"), - "enum_number_vendor_ext": obj.get("enum_number_vendor_ext"), - "enum_string_vendor_ext": obj.get("enum_string_vendor_ext"), "enum_string_single_member": obj.get("enum_string_single_member"), "enum_integer_single_member": obj.get("enum_integer_single_member"), "outer_enum": obj.get("outerEnum"), "outer_enum_integer": obj.get("outerEnumInteger"), "outer_enum_default_value": obj.get("outerEnumDefaultValue"), - "outer_enum_integer_default_value": obj.get("outerEnumIntegerDefaultValue") + "outer_enum_integer_default_value": obj.get("outerEnumIntegerDefaultValue"), + "enum_number_vendor_ext": obj.get("enumNumberVendorExt"), + "enum_string_vendor_ext": obj.get("enumStringVendorExt") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_number_vendor_ext.py new file mode 100644 index 00000000000..b97aaf537c0 --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_number_vendor_ext.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt # noqa: E501 + +class TestEnumNumberVendorExt(unittest.TestCase): + """EnumNumberVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumNumberVendorExt(self): + """Test EnumNumberVendorExt""" + # inst = EnumNumberVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_string_vendor_ext.py new file mode 100644 index 00000000000..bf9ebcb8bfc --- /dev/null +++ b/samples/openapi3/client/petstore/python-pydantic-v1/test/test_enum_string_vendor_ext.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt # noqa: E501 + +class TestEnumStringVendorExt(unittest.TestCase): + """EnumStringVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumStringVendorExt(self): + """Test EnumStringVendorExt""" + # inst = EnumStringVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_client.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_client.py index 9205f4ed998..d92c7855461 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_client.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_client.py @@ -9,8 +9,6 @@ $ cd OpenAPIetstore-python $ pytest """ -import os -import time import atexit import weakref import unittest diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_exception.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_exception.py index eb8f12293ed..55673c271ee 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_exception.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_exception.py @@ -9,20 +9,23 @@ $ cd petstore_api-python $ pytest """ -import os -import sys import unittest import petstore_api +from petstore_api import Configuration from petstore_api.rest import ApiException from .util import id_gen +HOST = 'http://localhost/v2' + class ApiExceptionTests(unittest.TestCase): def setUp(self): - self.api_client = petstore_api.ApiClient() + config = Configuration() + config.host = HOST + self.api_client = petstore_api.ApiClient(config) self.pet_api = petstore_api.PetApi(self.api_client) self.setUpModels() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_validation.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_validation.py index c791384d92f..d4c89e23946 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_validation.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_api_validation.py @@ -14,16 +14,22 @@ import sys import unittest import petstore_api +from petstore_api import Configuration from petstore_api.rest import ApiException from pydantic import BaseModel, ValidationError from .util import id_gen +HOST = 'http://localhost/v2' + class ApiExceptionTests(unittest.TestCase): def setUp(self): - self.api_client = petstore_api.ApiClient() + config = Configuration() + config.host = HOST + config.access_token = 'ACCESS_TOKEN' + self.api_client = petstore_api.ApiClient(config) self.pet_api = petstore_api.PetApi(self.api_client) self.setUpModels() diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py index 2784d3ac1d0..569ae0ce497 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py @@ -10,15 +10,12 @@ $ cd petstore_api-python $ pytest """ -from collections import namedtuple -from datetime import datetime, timedelta +from datetime import timedelta import base64 -import json import os import re -import shutil import unittest -from urllib.parse import urlencode, urlparse +from urllib.parse import urlparse from Crypto.Hash import SHA256, SHA512 from Crypto.PublicKey import ECC, RSA @@ -28,22 +25,11 @@ import petstore_api #from petstore_api.models import Category, Tag, Pet from petstore_api.api.pet_api import PetApi from petstore_api import Configuration, signing -from petstore_api.rest import ( - RESTClientObject, - RESTResponse -) - -from petstore_api.exceptions import ( - ApiException, - ApiValueError, - ApiTypeError, -) from .util import id_gen import urllib3 -from unittest.mock import patch HOST = 'http://localhost/v2' diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_store_api.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_store_api.py index 178e44fd1fe..69a855ba100 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_store_api.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_store_api.py @@ -14,13 +14,19 @@ import time import unittest import petstore_api -from petstore_api.rest import ApiException +from petstore_api import Configuration + +HOST = 'http://localhost/v2' class StoreApiTests(unittest.TestCase): def setUp(self): - self.store_api = petstore_api.StoreApi() + config = Configuration() + config.host = HOST + config.access_token = 'ACCESS_TOKEN' + self.api_client = petstore_api.ApiClient(config) + self.store_api = petstore_api.StoreApi(self.api_client) def tearDown(self): # sleep 1 sec between two every 2 tests diff --git a/samples/openapi3/client/petstore/python/.openapi-generator/FILES b/samples/openapi3/client/petstore/python/.openapi-generator/FILES index ffbffbcee5f..e9cb10689de 100755 --- a/samples/openapi3/client/petstore/python/.openapi-generator/FILES +++ b/samples/openapi3/client/petstore/python/.openapi-generator/FILES @@ -39,8 +39,10 @@ docs/Dog.md docs/DummyModel.md docs/EnumArrays.md docs/EnumClass.md +docs/EnumNumberVendorExt.md docs/EnumString1.md docs/EnumString2.md +docs/EnumStringVendorExt.md docs/EnumTest.md docs/FakeApi.md docs/FakeClassnameTags123Api.md @@ -167,8 +169,10 @@ petstore_api/models/dog.py petstore_api/models/dummy_model.py petstore_api/models/enum_arrays.py petstore_api/models/enum_class.py +petstore_api/models/enum_number_vendor_ext.py petstore_api/models/enum_string1.py petstore_api/models/enum_string2.py +petstore_api/models/enum_string_vendor_ext.py petstore_api/models/enum_test.py petstore_api/models/feeding.py petstore_api/models/file.py diff --git a/samples/openapi3/client/petstore/python/README.md b/samples/openapi3/client/petstore/python/README.md index 2dd68da4717..6c4c79a34ac 100755 --- a/samples/openapi3/client/petstore/python/README.md +++ b/samples/openapi3/client/petstore/python/README.md @@ -185,8 +185,10 @@ Class | Method | HTTP request | Description - [DummyModel](docs/DummyModel.md) - [EnumArrays](docs/EnumArrays.md) - [EnumClass](docs/EnumClass.md) + - [EnumNumberVendorExt](docs/EnumNumberVendorExt.md) - [EnumString1](docs/EnumString1.md) - [EnumString2](docs/EnumString2.md) + - [EnumStringVendorExt](docs/EnumStringVendorExt.md) - [EnumTest](docs/EnumTest.md) - [Feeding](docs/Feeding.md) - [File](docs/File.md) diff --git a/samples/openapi3/client/petstore/python/docs/EnumNumberVendorExt.md b/samples/openapi3/client/petstore/python/docs/EnumNumberVendorExt.md new file mode 100644 index 00000000000..4c1572b1d27 --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/EnumNumberVendorExt.md @@ -0,0 +1,14 @@ +# EnumNumberVendorExt + + +## Enum + +* `FortyTwo` (value: `42`) + +* `Eigtheen` (value: `18`) + +* `FiftySix` (value: `56`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/EnumStringVendorExt.md b/samples/openapi3/client/petstore/python/docs/EnumStringVendorExt.md new file mode 100644 index 00000000000..ce6077c18a3 --- /dev/null +++ b/samples/openapi3/client/petstore/python/docs/EnumStringVendorExt.md @@ -0,0 +1,14 @@ +# EnumStringVendorExt + + +## Enum + +* `FOO_XEnumVarname` (value: `'FOO'`) + +* `BarVar_XEnumVarname` (value: `'Bar'`) + +* `bazVar_XEnumVarname` (value: `'baz'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/openapi3/client/petstore/python/docs/EnumTest.md b/samples/openapi3/client/petstore/python/docs/EnumTest.md index 8a3874d1737..9f96c605d88 100644 --- a/samples/openapi3/client/petstore/python/docs/EnumTest.md +++ b/samples/openapi3/client/petstore/python/docs/EnumTest.md @@ -10,14 +10,14 @@ Name | Type | Description | Notes **enum_integer_default** | **int** | | [optional] [default to 5] **enum_integer** | **int** | | [optional] **enum_number** | **float** | | [optional] -**enum_number_vendor_ext** | **int** | | [optional] -**enum_string_vendor_ext** | **str** | | [optional] **enum_string_single_member** | **str** | | [optional] **enum_integer_single_member** | **int** | | [optional] **outer_enum** | [**OuterEnum**](OuterEnum.md) | | [optional] **outer_enum_integer** | [**OuterEnumInteger**](OuterEnumInteger.md) | | [optional] **outer_enum_default_value** | [**OuterEnumDefaultValue**](OuterEnumDefaultValue.md) | | [optional] [default to OuterEnumDefaultValue.PLACED] **outer_enum_integer_default_value** | [**OuterEnumIntegerDefaultValue**](OuterEnumIntegerDefaultValue.md) | | [optional] [default to OuterEnumIntegerDefaultValue.NUMBER_0] +**enum_number_vendor_ext** | [**EnumNumberVendorExt**](EnumNumberVendorExt.md) | | [optional] +**enum_string_vendor_ext** | [**EnumStringVendorExt**](EnumStringVendorExt.md) | | [optional] ## Example diff --git a/samples/openapi3/client/petstore/python/petstore_api/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/__init__.py index d7871f3e246..9036b7a8742 100755 --- a/samples/openapi3/client/petstore/python/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/__init__.py @@ -73,8 +73,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py index 130555c8236..fc1f4acbdaf 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py @@ -48,8 +48,10 @@ from petstore_api.models.dog import Dog from petstore_api.models.dummy_model import DummyModel from petstore_api.models.enum_arrays import EnumArrays from petstore_api.models.enum_class import EnumClass +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt from petstore_api.models.enum_string1 import EnumString1 from petstore_api.models.enum_string2 import EnumString2 +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.enum_test import EnumTest from petstore_api.models.feeding import Feeding from petstore_api.models.file import File diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python/petstore_api/models/enum_number_vendor_ext.py new file mode 100644 index 00000000000..5588de5c704 --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/models/enum_number_vendor_ext.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumNumberVendorExt(int, Enum): + """ + EnumNumberVendorExt + """ + + """ + allowed enum values + """ + FortyTwo = 42 + Eigtheen = 18 + FiftySix = 56 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumNumberVendorExt from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python/petstore_api/models/enum_string_vendor_ext.py new file mode 100644 index 00000000000..821812e9b08 --- /dev/null +++ b/samples/openapi3/client/petstore/python/petstore_api/models/enum_string_vendor_ext.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class EnumStringVendorExt(str, Enum): + """ + EnumStringVendorExt + """ + + """ + allowed enum values + """ + FOO_XEnumVarname = 'FOO' + BarVar_XEnumVarname = 'Bar' + bazVar_XEnumVarname = 'baz' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EnumStringVendorExt from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/enum_test.py b/samples/openapi3/client/petstore/python/petstore_api/models/enum_test.py index 6d09daf049d..d39c2c95775 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/enum_test.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/enum_test.py @@ -19,6 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt from petstore_api.models.outer_enum import OuterEnum from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue from petstore_api.models.outer_enum_integer import OuterEnumInteger @@ -35,16 +37,16 @@ class EnumTest(BaseModel): enum_integer_default: Optional[StrictInt] = 5 enum_integer: Optional[StrictInt] = None enum_number: Optional[StrictFloat] = None - enum_number_vendor_ext: Optional[StrictInt] = None - enum_string_vendor_ext: Optional[StrictStr] = None enum_string_single_member: Optional[StrictStr] = None enum_integer_single_member: Optional[StrictInt] = None outer_enum: Optional[OuterEnum] = Field(default=None, alias="outerEnum") outer_enum_integer: Optional[OuterEnumInteger] = Field(default=None, alias="outerEnumInteger") outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(default=OuterEnumDefaultValue.PLACED, alias="outerEnumDefaultValue") outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(default=OuterEnumIntegerDefaultValue.NUMBER_0, alias="outerEnumIntegerDefaultValue") + enum_number_vendor_ext: Optional[EnumNumberVendorExt] = Field(default=None, alias="enumNumberVendorExt") + enum_string_vendor_ext: Optional[EnumStringVendorExt] = Field(default=None, alias="enumStringVendorExt") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_number_vendor_ext", "enum_string_vendor_ext", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue"] + __properties: ClassVar[List[str]] = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "enum_string_single_member", "enum_integer_single_member", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue", "enumNumberVendorExt", "enumStringVendorExt"] @field_validator('enum_string') def enum_string_validate_enum(cls, value): @@ -93,26 +95,6 @@ class EnumTest(BaseModel): raise ValueError("must be one of enum values (1.1, -1.2)") return value - @field_validator('enum_number_vendor_ext') - def enum_number_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set([42, 18, 56]): - raise ValueError("must be one of enum values (42, 18, 56)") - return value - - @field_validator('enum_string_vendor_ext') - def enum_string_vendor_ext_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set(['FOO', 'Bar', 'baz']): - raise ValueError("must be one of enum values ('FOO', 'Bar', 'baz')") - return value - @field_validator('enum_string_single_member') def enum_string_single_member_validate_enum(cls, value): """Validates the enum""" @@ -201,14 +183,14 @@ class EnumTest(BaseModel): "enum_integer_default": obj.get("enum_integer_default") if obj.get("enum_integer_default") is not None else 5, "enum_integer": obj.get("enum_integer"), "enum_number": obj.get("enum_number"), - "enum_number_vendor_ext": obj.get("enum_number_vendor_ext"), - "enum_string_vendor_ext": obj.get("enum_string_vendor_ext"), "enum_string_single_member": obj.get("enum_string_single_member"), "enum_integer_single_member": obj.get("enum_integer_single_member"), "outerEnum": obj.get("outerEnum"), "outerEnumInteger": obj.get("outerEnumInteger"), "outerEnumDefaultValue": obj.get("outerEnumDefaultValue") if obj.get("outerEnumDefaultValue") is not None else OuterEnumDefaultValue.PLACED, - "outerEnumIntegerDefaultValue": obj.get("outerEnumIntegerDefaultValue") if obj.get("outerEnumIntegerDefaultValue") is not None else OuterEnumIntegerDefaultValue.NUMBER_0 + "outerEnumIntegerDefaultValue": obj.get("outerEnumIntegerDefaultValue") if obj.get("outerEnumIntegerDefaultValue") is not None else OuterEnumIntegerDefaultValue.NUMBER_0, + "enumNumberVendorExt": obj.get("enumNumberVendorExt"), + "enumStringVendorExt": obj.get("enumStringVendorExt") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/samples/openapi3/client/petstore/python/test/test_enum_number_vendor_ext.py b/samples/openapi3/client/petstore/python/test/test_enum_number_vendor_ext.py new file mode 100644 index 00000000000..62ff78318c7 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_enum_number_vendor_ext.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt + +class TestEnumNumberVendorExt(unittest.TestCase): + """EnumNumberVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumNumberVendorExt(self): + """Test EnumNumberVendorExt""" + # inst = EnumNumberVendorExt() + +if __name__ == '__main__': + unittest.main() diff --git a/samples/openapi3/client/petstore/python/test/test_enum_string_vendor_ext.py b/samples/openapi3/client/petstore/python/test/test_enum_string_vendor_ext.py new file mode 100644 index 00000000000..e82d7957d34 --- /dev/null +++ b/samples/openapi3/client/petstore/python/test/test_enum_string_vendor_ext.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + OpenAPI Petstore + + This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt + +class TestEnumStringVendorExt(unittest.TestCase): + """EnumStringVendorExt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEnumStringVendorExt(self): + """Test EnumStringVendorExt""" + # inst = EnumStringVendorExt() + +if __name__ == '__main__': + unittest.main()