From 933679db8ad5895e7ef35087ba51f3433ec9663b Mon Sep 17 00:00:00 2001 From: seonwoo_jung <79202163+seonwooj0810@users.noreply.github.com> Date: Fri, 12 Jun 2026 15:14:07 +0900 Subject: [PATCH 1/2] fix(InlineModelResolver): do not merge distinct inline enums sharing the same values The structural-signature fallback added in #23856 strips 'description', 'type' and 'example' before comparing schemas so that multi-file $ref object schemas mutated by the parser still deduplicate. For enum schemas this is too aggressive: two enums that list the same values but mean different things are distinguished only by their description, so stripping it wrongly unifies them and the second usage silently reuses the first enum's type (regression in 7.23.0, worked in 7.22.0). Skip the structural fallback for enum schemas in matchGenerated() so enums deduplicate on exact content only. Object-schema multi-file dedup is unaffected. Fixes #23978 --- .../codegen/InlineModelResolver.java | 19 +- .../codegen/InlineModelResolverTest.java | 39 ++++ .../net10/FormModels/.openapi-generator/FILES | 3 + .../net10/FormModels/api/openapi.yaml | 11 +- .../net10/FormModels/docs/apis/FakeApi.md | 6 +- ...EnumParametersEnumHeaderStringParameter.md | 9 + ...arametersEnumHeaderStringParameterTests.cs | 56 ++++++ .../src/Org.OpenAPITools/Api/FakeApi.cs | 18 +- .../Org.OpenAPITools/Client/ClientUtils.cs | 2 + .../Client/HostConfiguration.cs | 2 + ...EnumParametersEnumHeaderStringParameter.cs | 188 ++++++++++++++++++ .../FormModels/.openapi-generator/FILES | 3 + .../net4.7/FormModels/api/openapi.yaml | 11 +- .../net4.7/FormModels/docs/apis/FakeApi.md | 6 +- ...EnumParametersEnumHeaderStringParameter.md | 9 + ...arametersEnumHeaderStringParameterTests.cs | 56 ++++++ .../src/Org.OpenAPITools/Api/FakeApi.cs | 18 +- .../Org.OpenAPITools/Client/ClientUtils.cs | 2 + .../Client/HostConfiguration.cs | 2 + ...EnumParametersEnumHeaderStringParameter.cs | 188 ++++++++++++++++++ .../FormModels/.openapi-generator/FILES | 3 + .../net4.8/FormModels/api/openapi.yaml | 11 +- .../net4.8/FormModels/docs/apis/FakeApi.md | 6 +- ...EnumParametersEnumHeaderStringParameter.md | 9 + ...arametersEnumHeaderStringParameterTests.cs | 56 ++++++ .../src/Org.OpenAPITools/Api/FakeApi.cs | 18 +- .../Org.OpenAPITools/Client/ClientUtils.cs | 2 + .../Client/HostConfiguration.cs | 2 + ...EnumParametersEnumHeaderStringParameter.cs | 188 ++++++++++++++++++ .../net8/FormModels/.openapi-generator/FILES | 3 + .../net8/FormModels/api/openapi.yaml | 11 +- .../net8/FormModels/docs/apis/FakeApi.md | 6 +- ...EnumParametersEnumHeaderStringParameter.md | 9 + ...arametersEnumHeaderStringParameterTests.cs | 56 ++++++ .../src/Org.OpenAPITools/Api/FakeApi.cs | 18 +- .../Org.OpenAPITools/Client/ClientUtils.cs | 2 + .../Client/HostConfiguration.cs | 2 + ...EnumParametersEnumHeaderStringParameter.cs | 188 ++++++++++++++++++ .../net9/FormModels/.openapi-generator/FILES | 3 + .../net9/FormModels/api/openapi.yaml | 11 +- .../net9/FormModels/docs/apis/FakeApi.md | 6 +- ...EnumParametersEnumHeaderStringParameter.md | 9 + ...arametersEnumHeaderStringParameterTests.cs | 56 ++++++ .../src/Org.OpenAPITools/Api/FakeApi.cs | 18 +- .../Org.OpenAPITools/Client/ClientUtils.cs | 2 + .../Client/HostConfiguration.cs | 2 + ...EnumParametersEnumHeaderStringParameter.cs | 188 ++++++++++++++++++ .../php-laravel/.openapi-generator/FILES | 1 + .../php-laravel/Api/FakeApiInterface.php | 8 +- .../Http/Controllers/FakeController.php | 4 +- .../.openapi-generator/FILES | 1 + .../README.md | 1 + .../api/openapi.yaml | 11 +- .../bin/cli.rs | 4 +- .../examples/client/main.rs | 4 +- .../examples/server/server.rs | 4 +- .../src/client/mod.rs | 4 +- .../src/lib.rs | 12 +- .../src/models.rs | 126 ++++++++++++ .../src/server/mod.rs | 4 +- .../.openapi-generator/FILES | 1 + .../README.md | 1 + .../api/openapi.yaml | 11 +- .../bin/cli.rs | 8 +- .../examples/client/main.rs | 4 +- .../examples/server/server.rs | 4 +- .../src/client/mod.rs | 4 +- .../src/lib.rs | 12 +- .../src/models.rs | 127 ++++++++++++ .../src/server/mod.rs | 4 +- 70 files changed, 1776 insertions(+), 117 deletions(-) create mode 100644 samples/client/petstore/csharp/generichost/net10/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md create mode 100644 samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs create mode 100644 samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs create mode 100644 samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md create mode 100644 samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs create mode 100644 samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs create mode 100644 samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md create mode 100644 samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs create mode 100644 samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs create mode 100644 samples/client/petstore/csharp/generichost/net8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md create mode 100644 samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs create mode 100644 samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs create mode 100644 samples/client/petstore/csharp/generichost/net9/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md create mode 100644 samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs create mode 100644 samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java index b9ed1c9eba38..c15792e83f74 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java @@ -849,6 +849,10 @@ private String resolveModelName(String title, String modelName) { } } + private static boolean isEnumSchema(Schema model) { + return model != null && model.getEnum() != null && !model.getEnum().isEmpty(); + } + private String matchGenerated(Schema model) { if (skipSchemaReuse) { // skip reusing schema return null; @@ -862,9 +866,18 @@ private String matchGenerated(Schema model) { } // Structural match: compare with volatile fields stripped at every level. // See generatedStructuralSignature field for a full explanation of why this is needed. - String structural = computeStructuralSignature(model); - if (generatedStructuralSignature.containsKey(structural)) { - return generatedStructuralSignature.get(structural); + // + // Skip this fallback for enum schemas: the structural matcher strips 'description', + // but for an enum the description is the only thing distinguishing two schemas that + // share the same values yet represent different things (e.g. two properties whose + // enums happen to list the same values but mean different things). Stripping it would + // wrongly unify them and make the second usage silently reuse the first enum's type + // (#23978). Enum schemas therefore dedup on exact content only. + if (!isEnumSchema(model)) { + String structural = computeStructuralSignature(model); + if (generatedStructuralSignature.containsKey(structural)) { + return generatedStructuralSignature.get(structural); + } } } catch (JsonProcessingException e) { e.printStackTrace(); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java index 61bf18b51b11..c9012076559c 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java @@ -1385,6 +1385,45 @@ public void resolveInlineModelDeduplicatesWhenParserMutatesPropertyTypes() { schemas.get("StorageBackend_1")); } + @Test + public void doNotMergeDistinctInlineEnumsSharingTheSameValues() { + // Regression test for #23978: two inline enum properties that share the same enum values + // but represent different things (distinguished only by their description) must each be + // promoted to their own schema. The structural-signature fallback in matchGenerated() + // strips 'description', so without an enum guard it would wrongly unify them and the + // second property would silently reuse the first enum's type (regression in 7.23.0). + OpenAPI openapi = new OpenAPI(); + openapi.setComponents(new Components()); + openapi.setPaths(new Paths()); + + StringSchema statusEnum = new StringSchema(); + statusEnum.setDescription("Lifecycle status of the order"); + statusEnum.setEnum(java.util.Arrays.asList("ACTIVE", "INACTIVE")); + + StringSchema visibilityEnum = new StringSchema(); + visibilityEnum.setDescription("Whether the order is visible to the customer"); + visibilityEnum.setEnum(java.util.Arrays.asList("ACTIVE", "INACTIVE")); + + openapi.getComponents().addSchemas("Order", new ObjectSchema() + .title("Order") + .addProperty("status", statusEnum) + .addProperty("visibility", visibilityEnum)); + + InlineModelResolver resolver = new InlineModelResolver(); + Map options = new HashMap<>(); + options.put("RESOLVE_INLINE_ENUMS", "true"); + resolver.setInlineSchemaOptions(options); + resolver.flatten(openapi); + + Schema order = openapi.getComponents().getSchemas().get("Order"); + String statusRef = ((Schema) order.getProperties().get("status")).get$ref(); + String visibilityRef = ((Schema) order.getProperties().get("visibility")).get$ref(); + assertNotNull("status enum must be promoted to its own schema", statusRef); + assertNotNull("visibility enum must be promoted to its own schema", visibilityRef); + assertFalse("Distinct inline enums sharing the same values must not be merged (#23978)", + statusRef.equals(visibilityRef)); + } + @Test public void deduplicateComponentsRemovesNumberedDuplicateOfTitledSchemaAndRewritesRefs() { // Regression test: when flattening creates a numbered duplicate of a titled component diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES index cacee1eafc1b..2af6b5b34fe6 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES @@ -121,6 +121,7 @@ docs/models/TestCollectionEndingWithWordList.md docs/models/TestCollectionEndingWithWordListObject.md docs/models/TestDescendants.md docs/models/TestDescendantsObjectType.md +docs/models/TestEnumParametersEnumHeaderStringParameter.md docs/models/TestEnumParametersEnumQueryDoubleParameter.md docs/models/TestEnumParametersEnumQueryIntegerParameter.md docs/models/TestEnumParametersRequestEnumFormString.md @@ -140,6 +141,7 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -289,6 +291,7 @@ src/Org.OpenAPITools/Model/TestCollectionEndingWithWordList.cs src/Org.OpenAPITools/Model/TestCollectionEndingWithWordListObject.cs src/Org.OpenAPITools/Model/TestDescendants.cs src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/api/openapi.yaml b/samples/client/petstore/csharp/generichost/net10/FormModels/api/openapi.yaml index 8e6e916f99eb..6dae7b5ccbd3 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/api/openapi.yaml +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/api/openapi.yaml @@ -772,7 +772,7 @@ paths: name: enum_header_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: simple - description: Query parameter enum test (string array) explode: true @@ -790,7 +790,7 @@ paths: name: enum_query_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: form - description: Query parameter enum test (double) explode: true @@ -2819,6 +2819,13 @@ components: enum_form_string: $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" type: object + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/docs/apis/FakeApi.md b/samples/client/petstore/csharp/generichost/net10/FormModels/docs/apis/FakeApi.md index abf12b49fbf0..0febc3875e97 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/docs/apis/FakeApi.md @@ -483,7 +483,7 @@ void (empty response body) # **TestEnumParameters** -> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersRequestEnumFormString enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersRequestEnumFormString enumQueryString = null, List enumQueryStringArray = null) +> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersEnumHeaderStringParameter enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersEnumHeaderStringParameter enumQueryString = null, List enumQueryStringArray = null) To test enum parameters @@ -496,11 +496,11 @@ To test enum parameters |------|------|-------------|-------| | **enumFormString** | **TestEnumParametersRequestEnumFormString** | | [optional] | | **enumFormStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Form parameter enum test (string array) | [optional] | -| **enumHeaderString** | **TestEnumParametersRequestEnumFormString** | Header parameter enum test (string) | [optional] | +| **enumHeaderString** | **TestEnumParametersEnumHeaderStringParameter** | Header parameter enum test (string) | [optional] | | **enumHeaderStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Header parameter enum test (string array) | [optional] | | **enumQueryDouble** | **TestEnumParametersEnumQueryDoubleParameter** | Query parameter enum test (double) | [optional] | | **enumQueryInteger** | **TestEnumParametersEnumQueryIntegerParameter** | Query parameter enum test (double) | [optional] | -| **enumQueryString** | **TestEnumParametersRequestEnumFormString** | Query parameter enum test (string) | [optional] | +| **enumQueryString** | **TestEnumParametersEnumHeaderStringParameter** | Query parameter enum test (string) | [optional] | | **enumQueryStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Query parameter enum test (string array) | [optional] | ### Return type diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md b/samples/client/petstore/csharp/generichost/net10/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md new file mode 100644 index 000000000000..b5768f76fa5c --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md @@ -0,0 +1,9 @@ +# Org.OpenAPITools.Model.TestEnumParametersEnumHeaderStringParameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs new file mode 100644 index 000000000000..13a2e1eb54fc --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs @@ -0,0 +1,56 @@ +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Org.OpenAPITools.Model; +using Org.OpenAPITools.Client; +using System.Reflection; + +namespace Org.OpenAPITools.Test.Model +{ + /// + /// Class for testing TestEnumParametersEnumHeaderStringParameter + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TestEnumParametersEnumHeaderStringParameterTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TestEnumParametersEnumHeaderStringParameter + //private TestEnumParametersEnumHeaderStringParameter instance; + + public TestEnumParametersEnumHeaderStringParameterTests() + { + // TODO uncomment below to create an instance of TestEnumParametersEnumHeaderStringParameter + //instance = new TestEnumParametersEnumHeaderStringParameter(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TestEnumParametersEnumHeaderStringParameter + /// + [Fact] + public void TestEnumParametersEnumHeaderStringParameterInstanceTest() + { + // TODO uncomment below to test "IsType" TestEnumParametersEnumHeaderStringParameter + //Assert.IsType(instance); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 53ad97cbc3c1..6638ec4068d1 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -373,7 +373,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// To test enum parameters @@ -391,7 +391,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// Fake endpoint to test group parameters (optional) @@ -4450,7 +4450,7 @@ private void OnDeserializationErrorDefaultImplementation(Exception exception, Ht partial void OnDeserializationError(ref bool suppressDefaultLog, Exception exception, HttpStatusCode httpStatusCode); } - partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); + partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); /// /// Validates the request parameters @@ -4483,7 +4483,7 @@ private void ValidateTestEnumParameters(Option /// /// - private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLog = false; AfterTestEnumParameters(ref suppressDefaultLog, apiResponseLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4504,7 +4504,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// Logs exceptions that occur while retrieving the server response @@ -4520,7 +4520,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLogLocalVar = false; OnErrorTestEnumParameters(ref suppressDefaultLogLocalVar, exceptionLocalVar, pathFormatLocalVar, pathLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4543,7 +4543,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// /// /// - partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// To test enum parameters To test enum parameters @@ -4558,7 +4558,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { try { @@ -4584,7 +4584,7 @@ public async Task TestEnumParametersOrDefaultAsy /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { UriBuilder uriBuilderLocalVar = new UriBuilder(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index df3b3537a120..be99808e8e53 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -204,6 +204,8 @@ public static string ParameterToString(object obj, string format = ISO8601_DATET return RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString); if (obj is TestDescendantsObjectType testDescendantsObjectType) return TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType); + if (obj is TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter) + return TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter); if (obj is TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter) return TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString(); if (obj is TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter) diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs index 86e57f6fc333..570f9f5f10fe 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs @@ -176,6 +176,8 @@ public HostConfiguration(IServiceCollection services) _jsonOptions.Converters.Add(new TestDescendantsJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeNullableJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryIntegerParameterJsonConverter()); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs new file mode 100644 index 000000000000..4fe8d2deb709 --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -0,0 +1,188 @@ +// +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.ComponentModel.DataAnnotations; +using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using Org.OpenAPITools.Client; + +namespace Org.OpenAPITools.Model +{ + /// + /// Defines testEnumParameters_enum_header_string_parameter + /// + public enum TestEnumParametersEnumHeaderStringParameter + { + /// + /// Enum Abc for value: _abc + /// + Abc = 1, + + /// + /// Enum Efg for value: -efg + /// + Efg = 2, + + /// + /// Enum Xyz for value: (xyz) + /// + Xyz = 3 + } + + /// + /// Converts to and from the JSON value + /// + public static class TestEnumParametersEnumHeaderStringParameterValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter FromString(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + throw new NotImplementedException($"Could not convert value to type TestEnumParametersEnumHeaderStringParameter: '{value}'"); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter? FromStringOrDefault(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + return null; + } + + /// + /// Converts the to the json value + /// + /// + /// + /// + public static string ToJsonValue(TestEnumParametersEnumHeaderStringParameter value) + { + if (value == TestEnumParametersEnumHeaderStringParameter.Abc) + return "_abc"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Efg) + return "-efg"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Xyz) + return "(xyz)"; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); + } + } + + /// + /// A Json converter for type + /// + /// + public class TestEnumParametersEnumHeaderStringParameterJsonConverter : JsonConverter + { + /// + /// Returns a from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter).ToString()); + } + } + + /// + /// A Json converter for type + /// + public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : JsonConverter + { + /// + /// Returns a TestEnumParametersEnumHeaderStringParameter from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES index 905ec3b8592d..de2dbe82eab9 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES @@ -121,6 +121,7 @@ docs/models/TestCollectionEndingWithWordList.md docs/models/TestCollectionEndingWithWordListObject.md docs/models/TestDescendants.md docs/models/TestDescendantsObjectType.md +docs/models/TestEnumParametersEnumHeaderStringParameter.md docs/models/TestEnumParametersEnumQueryDoubleParameter.md docs/models/TestEnumParametersEnumQueryIntegerParameter.md docs/models/TestEnumParametersRequestEnumFormString.md @@ -140,6 +141,7 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -287,6 +289,7 @@ src/Org.OpenAPITools/Model/TestCollectionEndingWithWordList.cs src/Org.OpenAPITools/Model/TestCollectionEndingWithWordListObject.cs src/Org.OpenAPITools/Model/TestDescendants.cs src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/api/openapi.yaml b/samples/client/petstore/csharp/generichost/net4.7/FormModels/api/openapi.yaml index 8e6e916f99eb..6dae7b5ccbd3 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/api/openapi.yaml +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/api/openapi.yaml @@ -772,7 +772,7 @@ paths: name: enum_header_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: simple - description: Query parameter enum test (string array) explode: true @@ -790,7 +790,7 @@ paths: name: enum_query_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: form - description: Query parameter enum test (double) explode: true @@ -2819,6 +2819,13 @@ components: enum_form_string: $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" type: object + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/apis/FakeApi.md b/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/apis/FakeApi.md index 1a41e359c74e..408b1fc495ae 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/apis/FakeApi.md @@ -483,7 +483,7 @@ void (empty response body) # **TestEnumParameters** -> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersRequestEnumFormString enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersRequestEnumFormString enumQueryString = null, List enumQueryStringArray = null) +> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersEnumHeaderStringParameter enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersEnumHeaderStringParameter enumQueryString = null, List enumQueryStringArray = null) To test enum parameters @@ -496,11 +496,11 @@ To test enum parameters |------|------|-------------|-------| | **enumFormString** | **TestEnumParametersRequestEnumFormString** | | [optional] | | **enumFormStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Form parameter enum test (string array) | [optional] | -| **enumHeaderString** | **TestEnumParametersRequestEnumFormString** | Header parameter enum test (string) | [optional] | +| **enumHeaderString** | **TestEnumParametersEnumHeaderStringParameter** | Header parameter enum test (string) | [optional] | | **enumHeaderStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Header parameter enum test (string array) | [optional] | | **enumQueryDouble** | **TestEnumParametersEnumQueryDoubleParameter** | Query parameter enum test (double) | [optional] | | **enumQueryInteger** | **TestEnumParametersEnumQueryIntegerParameter** | Query parameter enum test (double) | [optional] | -| **enumQueryString** | **TestEnumParametersRequestEnumFormString** | Query parameter enum test (string) | [optional] | +| **enumQueryString** | **TestEnumParametersEnumHeaderStringParameter** | Query parameter enum test (string) | [optional] | | **enumQueryStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Query parameter enum test (string array) | [optional] | ### Return type diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md b/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md new file mode 100644 index 000000000000..b5768f76fa5c --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md @@ -0,0 +1,9 @@ +# Org.OpenAPITools.Model.TestEnumParametersEnumHeaderStringParameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs new file mode 100644 index 000000000000..13a2e1eb54fc --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs @@ -0,0 +1,56 @@ +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Org.OpenAPITools.Model; +using Org.OpenAPITools.Client; +using System.Reflection; + +namespace Org.OpenAPITools.Test.Model +{ + /// + /// Class for testing TestEnumParametersEnumHeaderStringParameter + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TestEnumParametersEnumHeaderStringParameterTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TestEnumParametersEnumHeaderStringParameter + //private TestEnumParametersEnumHeaderStringParameter instance; + + public TestEnumParametersEnumHeaderStringParameterTests() + { + // TODO uncomment below to create an instance of TestEnumParametersEnumHeaderStringParameter + //instance = new TestEnumParametersEnumHeaderStringParameter(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TestEnumParametersEnumHeaderStringParameter + /// + [Fact] + public void TestEnumParametersEnumHeaderStringParameterInstanceTest() + { + // TODO uncomment below to test "IsType" TestEnumParametersEnumHeaderStringParameter + //Assert.IsType(instance); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 3f5b3258a5b3..e978aa8b5292 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -373,7 +373,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// To test enum parameters @@ -391,7 +391,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// Fake endpoint to test group parameters (optional) @@ -4441,7 +4441,7 @@ private void OnDeserializationErrorDefaultImplementation(Exception exception, Ht partial void OnDeserializationError(ref bool suppressDefaultLog, Exception exception, HttpStatusCode httpStatusCode); } - partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); + partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); /// /// Validates the request parameters @@ -4474,7 +4474,7 @@ private void ValidateTestEnumParameters(Option /// /// - private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLog = false; AfterTestEnumParameters(ref suppressDefaultLog, apiResponseLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4495,7 +4495,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// Logs exceptions that occur while retrieving the server response @@ -4511,7 +4511,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLogLocalVar = false; OnErrorTestEnumParameters(ref suppressDefaultLogLocalVar, exceptionLocalVar, pathFormatLocalVar, pathLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4534,7 +4534,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// /// /// - partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// To test enum parameters To test enum parameters @@ -4549,7 +4549,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { try { @@ -4575,7 +4575,7 @@ public async Task TestEnumParametersOrDefaultAsy /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { UriBuilder uriBuilderLocalVar = new UriBuilder(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 69cca784e095..965dcceeeeb5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -205,6 +205,8 @@ public static string ParameterToString(object obj, string format = ISO8601_DATET return RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString); if (obj is TestDescendantsObjectType testDescendantsObjectType) return TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType); + if (obj is TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter) + return TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter); if (obj is TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter) return TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString(); if (obj is TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter) diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs index 1f106876c427..8c5be6c2ed63 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs @@ -174,6 +174,8 @@ public HostConfiguration(IServiceCollection services) _jsonOptions.Converters.Add(new TestDescendantsJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeNullableJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryIntegerParameterJsonConverter()); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs new file mode 100644 index 000000000000..4fe8d2deb709 --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -0,0 +1,188 @@ +// +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.ComponentModel.DataAnnotations; +using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using Org.OpenAPITools.Client; + +namespace Org.OpenAPITools.Model +{ + /// + /// Defines testEnumParameters_enum_header_string_parameter + /// + public enum TestEnumParametersEnumHeaderStringParameter + { + /// + /// Enum Abc for value: _abc + /// + Abc = 1, + + /// + /// Enum Efg for value: -efg + /// + Efg = 2, + + /// + /// Enum Xyz for value: (xyz) + /// + Xyz = 3 + } + + /// + /// Converts to and from the JSON value + /// + public static class TestEnumParametersEnumHeaderStringParameterValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter FromString(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + throw new NotImplementedException($"Could not convert value to type TestEnumParametersEnumHeaderStringParameter: '{value}'"); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter? FromStringOrDefault(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + return null; + } + + /// + /// Converts the to the json value + /// + /// + /// + /// + public static string ToJsonValue(TestEnumParametersEnumHeaderStringParameter value) + { + if (value == TestEnumParametersEnumHeaderStringParameter.Abc) + return "_abc"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Efg) + return "-efg"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Xyz) + return "(xyz)"; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); + } + } + + /// + /// A Json converter for type + /// + /// + public class TestEnumParametersEnumHeaderStringParameterJsonConverter : JsonConverter + { + /// + /// Returns a from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter).ToString()); + } + } + + /// + /// A Json converter for type + /// + public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : JsonConverter + { + /// + /// Returns a TestEnumParametersEnumHeaderStringParameter from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES index 905ec3b8592d..de2dbe82eab9 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES @@ -121,6 +121,7 @@ docs/models/TestCollectionEndingWithWordList.md docs/models/TestCollectionEndingWithWordListObject.md docs/models/TestDescendants.md docs/models/TestDescendantsObjectType.md +docs/models/TestEnumParametersEnumHeaderStringParameter.md docs/models/TestEnumParametersEnumQueryDoubleParameter.md docs/models/TestEnumParametersEnumQueryIntegerParameter.md docs/models/TestEnumParametersRequestEnumFormString.md @@ -140,6 +141,7 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -287,6 +289,7 @@ src/Org.OpenAPITools/Model/TestCollectionEndingWithWordList.cs src/Org.OpenAPITools/Model/TestCollectionEndingWithWordListObject.cs src/Org.OpenAPITools/Model/TestDescendants.cs src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/api/openapi.yaml b/samples/client/petstore/csharp/generichost/net4.8/FormModels/api/openapi.yaml index 8e6e916f99eb..6dae7b5ccbd3 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/api/openapi.yaml +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/api/openapi.yaml @@ -772,7 +772,7 @@ paths: name: enum_header_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: simple - description: Query parameter enum test (string array) explode: true @@ -790,7 +790,7 @@ paths: name: enum_query_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: form - description: Query parameter enum test (double) explode: true @@ -2819,6 +2819,13 @@ components: enum_form_string: $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" type: object + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/apis/FakeApi.md b/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/apis/FakeApi.md index 1a41e359c74e..408b1fc495ae 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/apis/FakeApi.md @@ -483,7 +483,7 @@ void (empty response body) # **TestEnumParameters** -> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersRequestEnumFormString enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersRequestEnumFormString enumQueryString = null, List enumQueryStringArray = null) +> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersEnumHeaderStringParameter enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersEnumHeaderStringParameter enumQueryString = null, List enumQueryStringArray = null) To test enum parameters @@ -496,11 +496,11 @@ To test enum parameters |------|------|-------------|-------| | **enumFormString** | **TestEnumParametersRequestEnumFormString** | | [optional] | | **enumFormStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Form parameter enum test (string array) | [optional] | -| **enumHeaderString** | **TestEnumParametersRequestEnumFormString** | Header parameter enum test (string) | [optional] | +| **enumHeaderString** | **TestEnumParametersEnumHeaderStringParameter** | Header parameter enum test (string) | [optional] | | **enumHeaderStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Header parameter enum test (string array) | [optional] | | **enumQueryDouble** | **TestEnumParametersEnumQueryDoubleParameter** | Query parameter enum test (double) | [optional] | | **enumQueryInteger** | **TestEnumParametersEnumQueryIntegerParameter** | Query parameter enum test (double) | [optional] | -| **enumQueryString** | **TestEnumParametersRequestEnumFormString** | Query parameter enum test (string) | [optional] | +| **enumQueryString** | **TestEnumParametersEnumHeaderStringParameter** | Query parameter enum test (string) | [optional] | | **enumQueryStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Query parameter enum test (string array) | [optional] | ### Return type diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md b/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md new file mode 100644 index 000000000000..b5768f76fa5c --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md @@ -0,0 +1,9 @@ +# Org.OpenAPITools.Model.TestEnumParametersEnumHeaderStringParameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs new file mode 100644 index 000000000000..13a2e1eb54fc --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs @@ -0,0 +1,56 @@ +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Org.OpenAPITools.Model; +using Org.OpenAPITools.Client; +using System.Reflection; + +namespace Org.OpenAPITools.Test.Model +{ + /// + /// Class for testing TestEnumParametersEnumHeaderStringParameter + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TestEnumParametersEnumHeaderStringParameterTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TestEnumParametersEnumHeaderStringParameter + //private TestEnumParametersEnumHeaderStringParameter instance; + + public TestEnumParametersEnumHeaderStringParameterTests() + { + // TODO uncomment below to create an instance of TestEnumParametersEnumHeaderStringParameter + //instance = new TestEnumParametersEnumHeaderStringParameter(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TestEnumParametersEnumHeaderStringParameter + /// + [Fact] + public void TestEnumParametersEnumHeaderStringParameterInstanceTest() + { + // TODO uncomment below to test "IsType" TestEnumParametersEnumHeaderStringParameter + //Assert.IsType(instance); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 3f5b3258a5b3..e978aa8b5292 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -373,7 +373,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// To test enum parameters @@ -391,7 +391,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// Fake endpoint to test group parameters (optional) @@ -4441,7 +4441,7 @@ private void OnDeserializationErrorDefaultImplementation(Exception exception, Ht partial void OnDeserializationError(ref bool suppressDefaultLog, Exception exception, HttpStatusCode httpStatusCode); } - partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); + partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); /// /// Validates the request parameters @@ -4474,7 +4474,7 @@ private void ValidateTestEnumParameters(Option /// /// - private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLog = false; AfterTestEnumParameters(ref suppressDefaultLog, apiResponseLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4495,7 +4495,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// Logs exceptions that occur while retrieving the server response @@ -4511,7 +4511,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLogLocalVar = false; OnErrorTestEnumParameters(ref suppressDefaultLogLocalVar, exceptionLocalVar, pathFormatLocalVar, pathLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4534,7 +4534,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// /// /// - partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// To test enum parameters To test enum parameters @@ -4549,7 +4549,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { try { @@ -4575,7 +4575,7 @@ public async Task TestEnumParametersOrDefaultAsy /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { UriBuilder uriBuilderLocalVar = new UriBuilder(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 69cca784e095..965dcceeeeb5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -205,6 +205,8 @@ public static string ParameterToString(object obj, string format = ISO8601_DATET return RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString); if (obj is TestDescendantsObjectType testDescendantsObjectType) return TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType); + if (obj is TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter) + return TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter); if (obj is TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter) return TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString(); if (obj is TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter) diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs index 1f106876c427..8c5be6c2ed63 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs @@ -174,6 +174,8 @@ public HostConfiguration(IServiceCollection services) _jsonOptions.Converters.Add(new TestDescendantsJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeNullableJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryIntegerParameterJsonConverter()); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs new file mode 100644 index 000000000000..4fe8d2deb709 --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -0,0 +1,188 @@ +// +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.ComponentModel.DataAnnotations; +using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using Org.OpenAPITools.Client; + +namespace Org.OpenAPITools.Model +{ + /// + /// Defines testEnumParameters_enum_header_string_parameter + /// + public enum TestEnumParametersEnumHeaderStringParameter + { + /// + /// Enum Abc for value: _abc + /// + Abc = 1, + + /// + /// Enum Efg for value: -efg + /// + Efg = 2, + + /// + /// Enum Xyz for value: (xyz) + /// + Xyz = 3 + } + + /// + /// Converts to and from the JSON value + /// + public static class TestEnumParametersEnumHeaderStringParameterValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter FromString(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + throw new NotImplementedException($"Could not convert value to type TestEnumParametersEnumHeaderStringParameter: '{value}'"); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter? FromStringOrDefault(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + return null; + } + + /// + /// Converts the to the json value + /// + /// + /// + /// + public static string ToJsonValue(TestEnumParametersEnumHeaderStringParameter value) + { + if (value == TestEnumParametersEnumHeaderStringParameter.Abc) + return "_abc"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Efg) + return "-efg"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Xyz) + return "(xyz)"; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); + } + } + + /// + /// A Json converter for type + /// + /// + public class TestEnumParametersEnumHeaderStringParameterJsonConverter : JsonConverter + { + /// + /// Returns a from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter).ToString()); + } + } + + /// + /// A Json converter for type + /// + public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : JsonConverter + { + /// + /// Returns a TestEnumParametersEnumHeaderStringParameter from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES index cacee1eafc1b..2af6b5b34fe6 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES @@ -121,6 +121,7 @@ docs/models/TestCollectionEndingWithWordList.md docs/models/TestCollectionEndingWithWordListObject.md docs/models/TestDescendants.md docs/models/TestDescendantsObjectType.md +docs/models/TestEnumParametersEnumHeaderStringParameter.md docs/models/TestEnumParametersEnumQueryDoubleParameter.md docs/models/TestEnumParametersEnumQueryIntegerParameter.md docs/models/TestEnumParametersRequestEnumFormString.md @@ -140,6 +141,7 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -289,6 +291,7 @@ src/Org.OpenAPITools/Model/TestCollectionEndingWithWordList.cs src/Org.OpenAPITools/Model/TestCollectionEndingWithWordListObject.cs src/Org.OpenAPITools/Model/TestDescendants.cs src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/api/openapi.yaml b/samples/client/petstore/csharp/generichost/net8/FormModels/api/openapi.yaml index 8e6e916f99eb..6dae7b5ccbd3 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/api/openapi.yaml +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/api/openapi.yaml @@ -772,7 +772,7 @@ paths: name: enum_header_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: simple - description: Query parameter enum test (string array) explode: true @@ -790,7 +790,7 @@ paths: name: enum_query_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: form - description: Query parameter enum test (double) explode: true @@ -2819,6 +2819,13 @@ components: enum_form_string: $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" type: object + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/docs/apis/FakeApi.md b/samples/client/petstore/csharp/generichost/net8/FormModels/docs/apis/FakeApi.md index abf12b49fbf0..0febc3875e97 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/docs/apis/FakeApi.md @@ -483,7 +483,7 @@ void (empty response body) # **TestEnumParameters** -> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersRequestEnumFormString enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersRequestEnumFormString enumQueryString = null, List enumQueryStringArray = null) +> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersEnumHeaderStringParameter enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersEnumHeaderStringParameter enumQueryString = null, List enumQueryStringArray = null) To test enum parameters @@ -496,11 +496,11 @@ To test enum parameters |------|------|-------------|-------| | **enumFormString** | **TestEnumParametersRequestEnumFormString** | | [optional] | | **enumFormStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Form parameter enum test (string array) | [optional] | -| **enumHeaderString** | **TestEnumParametersRequestEnumFormString** | Header parameter enum test (string) | [optional] | +| **enumHeaderString** | **TestEnumParametersEnumHeaderStringParameter** | Header parameter enum test (string) | [optional] | | **enumHeaderStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Header parameter enum test (string array) | [optional] | | **enumQueryDouble** | **TestEnumParametersEnumQueryDoubleParameter** | Query parameter enum test (double) | [optional] | | **enumQueryInteger** | **TestEnumParametersEnumQueryIntegerParameter** | Query parameter enum test (double) | [optional] | -| **enumQueryString** | **TestEnumParametersRequestEnumFormString** | Query parameter enum test (string) | [optional] | +| **enumQueryString** | **TestEnumParametersEnumHeaderStringParameter** | Query parameter enum test (string) | [optional] | | **enumQueryStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Query parameter enum test (string array) | [optional] | ### Return type diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md b/samples/client/petstore/csharp/generichost/net8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md new file mode 100644 index 000000000000..b5768f76fa5c --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md @@ -0,0 +1,9 @@ +# Org.OpenAPITools.Model.TestEnumParametersEnumHeaderStringParameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs new file mode 100644 index 000000000000..13a2e1eb54fc --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs @@ -0,0 +1,56 @@ +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Org.OpenAPITools.Model; +using Org.OpenAPITools.Client; +using System.Reflection; + +namespace Org.OpenAPITools.Test.Model +{ + /// + /// Class for testing TestEnumParametersEnumHeaderStringParameter + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TestEnumParametersEnumHeaderStringParameterTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TestEnumParametersEnumHeaderStringParameter + //private TestEnumParametersEnumHeaderStringParameter instance; + + public TestEnumParametersEnumHeaderStringParameterTests() + { + // TODO uncomment below to create an instance of TestEnumParametersEnumHeaderStringParameter + //instance = new TestEnumParametersEnumHeaderStringParameter(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TestEnumParametersEnumHeaderStringParameter + /// + [Fact] + public void TestEnumParametersEnumHeaderStringParameterInstanceTest() + { + // TODO uncomment below to test "IsType" TestEnumParametersEnumHeaderStringParameter + //Assert.IsType(instance); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 53ad97cbc3c1..6638ec4068d1 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -373,7 +373,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// To test enum parameters @@ -391,7 +391,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// Fake endpoint to test group parameters (optional) @@ -4450,7 +4450,7 @@ private void OnDeserializationErrorDefaultImplementation(Exception exception, Ht partial void OnDeserializationError(ref bool suppressDefaultLog, Exception exception, HttpStatusCode httpStatusCode); } - partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); + partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); /// /// Validates the request parameters @@ -4483,7 +4483,7 @@ private void ValidateTestEnumParameters(Option /// /// - private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLog = false; AfterTestEnumParameters(ref suppressDefaultLog, apiResponseLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4504,7 +4504,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// Logs exceptions that occur while retrieving the server response @@ -4520,7 +4520,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLogLocalVar = false; OnErrorTestEnumParameters(ref suppressDefaultLogLocalVar, exceptionLocalVar, pathFormatLocalVar, pathLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4543,7 +4543,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// /// /// - partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// To test enum parameters To test enum parameters @@ -4558,7 +4558,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { try { @@ -4584,7 +4584,7 @@ public async Task TestEnumParametersOrDefaultAsy /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { UriBuilder uriBuilderLocalVar = new UriBuilder(); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index df3b3537a120..be99808e8e53 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -204,6 +204,8 @@ public static string ParameterToString(object obj, string format = ISO8601_DATET return RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString); if (obj is TestDescendantsObjectType testDescendantsObjectType) return TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType); + if (obj is TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter) + return TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter); if (obj is TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter) return TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString(); if (obj is TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter) diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs index 86e57f6fc333..570f9f5f10fe 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs @@ -176,6 +176,8 @@ public HostConfiguration(IServiceCollection services) _jsonOptions.Converters.Add(new TestDescendantsJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeNullableJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryIntegerParameterJsonConverter()); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs new file mode 100644 index 000000000000..4fe8d2deb709 --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -0,0 +1,188 @@ +// +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.ComponentModel.DataAnnotations; +using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using Org.OpenAPITools.Client; + +namespace Org.OpenAPITools.Model +{ + /// + /// Defines testEnumParameters_enum_header_string_parameter + /// + public enum TestEnumParametersEnumHeaderStringParameter + { + /// + /// Enum Abc for value: _abc + /// + Abc = 1, + + /// + /// Enum Efg for value: -efg + /// + Efg = 2, + + /// + /// Enum Xyz for value: (xyz) + /// + Xyz = 3 + } + + /// + /// Converts to and from the JSON value + /// + public static class TestEnumParametersEnumHeaderStringParameterValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter FromString(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + throw new NotImplementedException($"Could not convert value to type TestEnumParametersEnumHeaderStringParameter: '{value}'"); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter? FromStringOrDefault(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + return null; + } + + /// + /// Converts the to the json value + /// + /// + /// + /// + public static string ToJsonValue(TestEnumParametersEnumHeaderStringParameter value) + { + if (value == TestEnumParametersEnumHeaderStringParameter.Abc) + return "_abc"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Efg) + return "-efg"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Xyz) + return "(xyz)"; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); + } + } + + /// + /// A Json converter for type + /// + /// + public class TestEnumParametersEnumHeaderStringParameterJsonConverter : JsonConverter + { + /// + /// Returns a from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter).ToString()); + } + } + + /// + /// A Json converter for type + /// + public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : JsonConverter + { + /// + /// Returns a TestEnumParametersEnumHeaderStringParameter from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES index cacee1eafc1b..2af6b5b34fe6 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES @@ -121,6 +121,7 @@ docs/models/TestCollectionEndingWithWordList.md docs/models/TestCollectionEndingWithWordListObject.md docs/models/TestDescendants.md docs/models/TestDescendantsObjectType.md +docs/models/TestEnumParametersEnumHeaderStringParameter.md docs/models/TestEnumParametersEnumQueryDoubleParameter.md docs/models/TestEnumParametersEnumQueryIntegerParameter.md docs/models/TestEnumParametersRequestEnumFormString.md @@ -140,6 +141,7 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -289,6 +291,7 @@ src/Org.OpenAPITools/Model/TestCollectionEndingWithWordList.cs src/Org.OpenAPITools/Model/TestCollectionEndingWithWordListObject.cs src/Org.OpenAPITools/Model/TestDescendants.cs src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/api/openapi.yaml b/samples/client/petstore/csharp/generichost/net9/FormModels/api/openapi.yaml index 8e6e916f99eb..6dae7b5ccbd3 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/api/openapi.yaml +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/api/openapi.yaml @@ -772,7 +772,7 @@ paths: name: enum_header_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: simple - description: Query parameter enum test (string array) explode: true @@ -790,7 +790,7 @@ paths: name: enum_query_string required: false schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" style: form - description: Query parameter enum test (double) explode: true @@ -2819,6 +2819,13 @@ components: enum_form_string: $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" type: object + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/docs/apis/FakeApi.md b/samples/client/petstore/csharp/generichost/net9/FormModels/docs/apis/FakeApi.md index abf12b49fbf0..0febc3875e97 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/docs/apis/FakeApi.md +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/docs/apis/FakeApi.md @@ -483,7 +483,7 @@ void (empty response body) # **TestEnumParameters** -> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersRequestEnumFormString enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersRequestEnumFormString enumQueryString = null, List enumQueryStringArray = null) +> void TestEnumParameters (TestEnumParametersRequestEnumFormString enumFormString = null, List enumFormStringArray = null, TestEnumParametersEnumHeaderStringParameter enumHeaderString = null, List enumHeaderStringArray = null, TestEnumParametersEnumQueryDoubleParameter enumQueryDouble = null, TestEnumParametersEnumQueryIntegerParameter enumQueryInteger = null, TestEnumParametersEnumHeaderStringParameter enumQueryString = null, List enumQueryStringArray = null) To test enum parameters @@ -496,11 +496,11 @@ To test enum parameters |------|------|-------------|-------| | **enumFormString** | **TestEnumParametersRequestEnumFormString** | | [optional] | | **enumFormStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Form parameter enum test (string array) | [optional] | -| **enumHeaderString** | **TestEnumParametersRequestEnumFormString** | Header parameter enum test (string) | [optional] | +| **enumHeaderString** | **TestEnumParametersEnumHeaderStringParameter** | Header parameter enum test (string) | [optional] | | **enumHeaderStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Header parameter enum test (string array) | [optional] | | **enumQueryDouble** | **TestEnumParametersEnumQueryDoubleParameter** | Query parameter enum test (double) | [optional] | | **enumQueryInteger** | **TestEnumParametersEnumQueryIntegerParameter** | Query parameter enum test (double) | [optional] | -| **enumQueryString** | **TestEnumParametersRequestEnumFormString** | Query parameter enum test (string) | [optional] | +| **enumQueryString** | **TestEnumParametersEnumHeaderStringParameter** | Query parameter enum test (string) | [optional] | | **enumQueryStringArray** | [**List<TestEnumParametersRequestEnumFormStringArrayInner>**](TestEnumParametersRequestEnumFormStringArrayInner.md) | Query parameter enum test (string array) | [optional] | ### Return type diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md b/samples/client/petstore/csharp/generichost/net9/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md new file mode 100644 index 000000000000..b5768f76fa5c --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/docs/models/TestEnumParametersEnumHeaderStringParameter.md @@ -0,0 +1,9 @@ +# Org.OpenAPITools.Model.TestEnumParametersEnumHeaderStringParameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs new file mode 100644 index 000000000000..13a2e1eb54fc --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs @@ -0,0 +1,56 @@ +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Org.OpenAPITools.Model; +using Org.OpenAPITools.Client; +using System.Reflection; + +namespace Org.OpenAPITools.Test.Model +{ + /// + /// Class for testing TestEnumParametersEnumHeaderStringParameter + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TestEnumParametersEnumHeaderStringParameterTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TestEnumParametersEnumHeaderStringParameter + //private TestEnumParametersEnumHeaderStringParameter instance; + + public TestEnumParametersEnumHeaderStringParameterTests() + { + // TODO uncomment below to create an instance of TestEnumParametersEnumHeaderStringParameter + //instance = new TestEnumParametersEnumHeaderStringParameter(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TestEnumParametersEnumHeaderStringParameter + /// + [Fact] + public void TestEnumParametersEnumHeaderStringParameterInstanceTest() + { + // TODO uncomment below to test "IsType" TestEnumParametersEnumHeaderStringParameter + //Assert.IsType(instance); + } + } +} diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 53ad97cbc3c1..6638ec4068d1 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -373,7 +373,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// To test enum parameters @@ -391,7 +391,7 @@ public interface IFakeApi : IApi /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); + Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default); /// /// Fake endpoint to test group parameters (optional) @@ -4450,7 +4450,7 @@ private void OnDeserializationErrorDefaultImplementation(Exception exception, Ht partial void OnDeserializationError(ref bool suppressDefaultLog, Exception exception, HttpStatusCode httpStatusCode); } - partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); + partial void FormatTestEnumParameters(ref Option enumFormString, Option> enumFormStringArray, ref Option enumHeaderString, Option> enumHeaderStringArray, ref Option enumQueryDouble, ref Option enumQueryInteger, ref Option enumQueryString, Option> enumQueryStringArray); /// /// Validates the request parameters @@ -4483,7 +4483,7 @@ private void ValidateTestEnumParameters(Option /// /// - private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLog = false; AfterTestEnumParameters(ref suppressDefaultLog, apiResponseLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4504,7 +4504,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void AfterTestEnumParameters(ref bool suppressDefaultLog, ITestEnumParametersApiResponse apiResponseLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// Logs exceptions that occur while retrieving the server response @@ -4520,7 +4520,7 @@ private void AfterTestEnumParametersDefaultImplementation(ITestEnumParametersApi /// /// /// - private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) + private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray) { bool suppressDefaultLogLocalVar = false; OnErrorTestEnumParameters(ref suppressDefaultLogLocalVar, exceptionLocalVar, pathFormatLocalVar, pathLocalVar, enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); @@ -4543,7 +4543,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// /// /// - partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); + partial void OnErrorTestEnumParameters(ref bool suppressDefaultLogLocalVar, Exception exceptionLocalVar, string pathFormatLocalVar, string pathLocalVar, Option enumFormString, Option> enumFormStringArray, Option enumHeaderString, Option> enumHeaderStringArray, Option enumQueryDouble, Option enumQueryInteger, Option enumQueryString, Option> enumQueryStringArray); /// /// To test enum parameters To test enum parameters @@ -4558,7 +4558,7 @@ private void OnErrorTestEnumParametersDefaultImplementation(Exception exceptionL /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersOrDefaultAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { try { @@ -4584,7 +4584,7 @@ public async Task TestEnumParametersOrDefaultAsy /// Query parameter enum test (string array) (optional) /// Cancellation Token to cancel the request. /// <> - public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) + public async Task TestEnumParametersAsync(Option enumFormString = default, Option> enumFormStringArray = default, Option enumHeaderString = default, Option> enumHeaderStringArray = default, Option enumQueryDouble = default, Option enumQueryInteger = default, Option enumQueryString = default, Option> enumQueryStringArray = default, System.Threading.CancellationToken cancellationToken = default) { UriBuilder uriBuilderLocalVar = new UriBuilder(); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index df3b3537a120..be99808e8e53 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -204,6 +204,8 @@ public static string ParameterToString(object obj, string format = ISO8601_DATET return RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString); if (obj is TestDescendantsObjectType testDescendantsObjectType) return TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType); + if (obj is TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter) + return TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter); if (obj is TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter) return TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString(); if (obj is TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter) diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs index 86e57f6fc333..570f9f5f10fe 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/HostConfiguration.cs @@ -176,6 +176,8 @@ public HostConfiguration(IServiceCollection services) _jsonOptions.Converters.Add(new TestDescendantsJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeJsonConverter()); _jsonOptions.Converters.Add(new TestDescendantsObjectTypeNullableJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterJsonConverter()); + _jsonOptions.Converters.Add(new TestEnumParametersEnumHeaderStringParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter()); _jsonOptions.Converters.Add(new TestEnumParametersEnumQueryIntegerParameterJsonConverter()); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs new file mode 100644 index 000000000000..4fe8d2deb709 --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -0,0 +1,188 @@ +// +/* + * 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: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Text.Json; +using System.Text.Json.Serialization; +using System.ComponentModel.DataAnnotations; +using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils; +using Org.OpenAPITools.Client; + +namespace Org.OpenAPITools.Model +{ + /// + /// Defines testEnumParameters_enum_header_string_parameter + /// + public enum TestEnumParametersEnumHeaderStringParameter + { + /// + /// Enum Abc for value: _abc + /// + Abc = 1, + + /// + /// Enum Efg for value: -efg + /// + Efg = 2, + + /// + /// Enum Xyz for value: (xyz) + /// + Xyz = 3 + } + + /// + /// Converts to and from the JSON value + /// + public static class TestEnumParametersEnumHeaderStringParameterValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter FromString(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + throw new NotImplementedException($"Could not convert value to type TestEnumParametersEnumHeaderStringParameter: '{value}'"); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TestEnumParametersEnumHeaderStringParameter? FromStringOrDefault(string value) + { + if (value.Equals("_abc")) + return TestEnumParametersEnumHeaderStringParameter.Abc; + + if (value.Equals("-efg")) + return TestEnumParametersEnumHeaderStringParameter.Efg; + + if (value.Equals("(xyz)")) + return TestEnumParametersEnumHeaderStringParameter.Xyz; + + return null; + } + + /// + /// Converts the to the json value + /// + /// + /// + /// + public static string ToJsonValue(TestEnumParametersEnumHeaderStringParameter value) + { + if (value == TestEnumParametersEnumHeaderStringParameter.Abc) + return "_abc"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Efg) + return "-efg"; + + if (value == TestEnumParametersEnumHeaderStringParameter.Xyz) + return "(xyz)"; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); + } + } + + /// + /// A Json converter for type + /// + /// + public class TestEnumParametersEnumHeaderStringParameterJsonConverter : JsonConverter + { + /// + /// Returns a from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter).ToString()); + } + } + + /// + /// A Json converter for type + /// + public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : JsonConverter + { + /// + /// Returns a TestEnumParametersEnumHeaderStringParameter from the Json object + /// + /// + /// + /// + /// + public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + string rawValue = reader.GetString(); + + TestEnumParametersEnumHeaderStringParameter? result = rawValue == null + ? null + : TestEnumParametersEnumHeaderStringParameterValueConverter.FromStringOrDefault(rawValue); + + if (result != null) + return result.Value; + + throw new JsonException(); + } + + /// + /// Writes the TestEnumParametersEnumHeaderStringParameter to the json writer + /// + /// + /// + /// + public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) + { + writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + } + } +} diff --git a/samples/server/petstore/php-laravel/.openapi-generator/FILES b/samples/server/petstore/php-laravel/.openapi-generator/FILES index 0c114f356abc..0766ce49b8a4 100644 --- a/samples/server/petstore/php-laravel/.openapi-generator/FILES +++ b/samples/server/petstore/php-laravel/.openapi-generator/FILES @@ -75,6 +75,7 @@ Model/ReadOnlyFirst.php Model/SingleRefType.php Model/SpecialModelName.php Model/Tag.php +Model/TestEnumParametersEnumHeaderStringParameter.php Model/TestEnumParametersEnumQueryDoubleParameter.php Model/TestEnumParametersEnumQueryIntegerParameter.php Model/TestEnumParametersRequestEnumFormString.php diff --git a/samples/server/petstore/php-laravel/Api/FakeApiInterface.php b/samples/server/petstore/php-laravel/Api/FakeApiInterface.php index 6b8205fe19d2..0ba584fe917a 100644 --- a/samples/server/petstore/php-laravel/Api/FakeApiInterface.php +++ b/samples/server/petstore/php-laravel/Api/FakeApiInterface.php @@ -236,9 +236,9 @@ public function testEndpointParameters( * * To test enum parameters * @param null | \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormStringArrayInner[] $enumHeaderStringArray - * @param null | \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString $enumHeaderString + * @param null | \OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter $enumHeaderString * @param null | \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormStringArrayInner[] $enumQueryStringArray - * @param null | \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString $enumQueryString + * @param null | \OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter $enumQueryString * @param null | \OpenAPI\Server\Model\TestEnumParametersEnumQueryIntegerParameter $enumQueryInteger * @param null | \OpenAPI\Server\Model\TestEnumParametersEnumQueryDoubleParameter $enumQueryDouble * @param null | \OpenAPI\Server\Model\EnumClass[] $enumQueryModelArray @@ -248,9 +248,9 @@ public function testEndpointParameters( */ public function testEnumParameters( ?array $enumHeaderStringArray, - ?\OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString $enumHeaderString, + ?\OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter $enumHeaderString, ?array $enumQueryStringArray, - ?\OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString $enumQueryString, + ?\OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter $enumQueryString, ?\OpenAPI\Server\Model\TestEnumParametersEnumQueryIntegerParameter $enumQueryInteger, ?\OpenAPI\Server\Model\TestEnumParametersEnumQueryDoubleParameter $enumQueryDouble, ?array $enumQueryModelArray, diff --git a/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php b/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php index 6f2b2b1fe740..ae433d8b5ec6 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php @@ -678,11 +678,11 @@ public function testEnumParameters(Request $request): JsonResponse $enumHeaderStringArray = $request->get('enumHeaderStringArray'); - $enumHeaderString = $this->serde->deserialize($request->getContent(), from: 'json', to: \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString::class); + $enumHeaderString = $this->serde->deserialize($request->getContent(), from: 'json', to: \OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter::class); $enumQueryStringArray = $request->get('enumQueryStringArray'); - $enumQueryString = $this->serde->deserialize($request->getContent(), from: 'json', to: \OpenAPI\Server\Model\TestEnumParametersRequestEnumFormString::class); + $enumQueryString = $this->serde->deserialize($request->getContent(), from: 'json', to: \OpenAPI\Server\Model\TestEnumParametersEnumHeaderStringParameter::class); $enumQueryInteger = $this->serde->deserialize($request->getContent(), from: 'json', to: \OpenAPI\Server\Model\TestEnumParametersEnumQueryIntegerParameter::class); diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES index e899e0a0ceff..6d35ed812fa6 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES @@ -51,6 +51,7 @@ docs/ReadOnlyFirst.md docs/Return.md docs/Tag.md docs/TestEnumParametersEnumHeaderStringArrayParameterInner.md +docs/TestEnumParametersEnumHeaderStringParameter.md docs/TestEnumParametersEnumQueryDoubleParameter.md docs/TestEnumParametersEnumQueryIntegerParameter.md docs/TestEnumParametersRequestEnumFormString.md diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/README.md b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/README.md index d3c3afe2bb92..20837ecd4a0f 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/README.md +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/README.md @@ -232,6 +232,7 @@ Method | HTTP request | Description - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TestEnumParametersEnumHeaderStringArrayParameterInner](docs/TestEnumParametersEnumHeaderStringArrayParameterInner.md) + - [TestEnumParametersEnumHeaderStringParameter](docs/TestEnumParametersEnumHeaderStringParameter.md) - [TestEnumParametersEnumQueryDoubleParameter](docs/TestEnumParametersEnumQueryDoubleParameter.md) - [TestEnumParametersEnumQueryIntegerParameter](docs/TestEnumParametersEnumQueryIntegerParameter.md) - [TestEnumParametersRequestEnumFormString](docs/TestEnumParametersRequestEnumFormString.md) diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml index 2d1be7d9a6b8..7c364c4a75f9 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml @@ -599,7 +599,7 @@ paths: in: header name: enum_header_string schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" - description: Query parameter enum test (string array) explode: false in: query @@ -613,7 +613,7 @@ paths: in: query name: enum_query_string schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" - description: Query parameter enum test (double) in: query name: enum_query_integer @@ -1437,6 +1437,13 @@ components: - '>' - $ type: string + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs index bc8a5faa3599..9141802f5891 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs @@ -182,13 +182,13 @@ enum Operation { enum_header_string_array: Option>, /// Header parameter enum test (string) #[structopt(parse(try_from_str = parse_json))] - enum_header_string: Option, + enum_header_string: Option, /// Query parameter enum test (string array) #[structopt(parse(try_from_str = parse_json), long)] enum_query_string_array: Option>, /// Query parameter enum test (string) #[structopt(parse(try_from_str = parse_json))] - enum_query_string: Option, + enum_query_string: Option, /// Query parameter enum test (double) #[structopt(parse(try_from_str = parse_json))] enum_query_integer: Option, diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs index 31c2da85fe6f..e9c468b84b7b 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs @@ -245,9 +245,9 @@ fn main() { Some("TestEnumParameters") => { let result = rt.block_on(client.test_enum_parameters( Some(&Vec::new()), - Some(models::TestEnumParametersRequestEnumFormString::Abc), + Some(models::TestEnumParametersEnumHeaderStringParameter::Abc), Some(&Vec::new()), - Some(models::TestEnumParametersRequestEnumFormString::Abc), + Some(models::TestEnumParametersEnumHeaderStringParameter::Abc), Some(models::TestEnumParametersEnumQueryIntegerParameter::Variant1), Some(models::TestEnumParametersEnumQueryDoubleParameter::Variant11), Some(models::TestEnumParametersRequestEnumFormString::Abc) diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs index a470efbe9af2..d360e5cdfb01 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs @@ -244,9 +244,9 @@ impl Api for Server where C: Has + Send + Sync async fn test_enum_parameters( &self, enum_header_string_array: Option<&Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs index ad61a853d0ee..40100279f987 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs @@ -1329,9 +1329,9 @@ impl Api for Client where async fn test_enum_parameters( &self, param_enum_header_string_array: Option<&Vec>, - param_enum_header_string: Option, + param_enum_header_string: Option, param_enum_query_string_array: Option<&Vec>, - param_enum_query_string: Option, + param_enum_query_string: Option, param_enum_query_integer: Option, param_enum_query_double: Option, param_enum_form_string: Option, diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs index 37da22cfbd68..4791f388b517 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs @@ -361,9 +361,9 @@ pub trait Api { async fn test_enum_parameters( &self, enum_header_string_array: Option<&Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, @@ -598,9 +598,9 @@ pub trait ApiNoContext { async fn test_enum_parameters( &self, enum_header_string_array: Option<&Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, @@ -889,9 +889,9 @@ impl + Send + Sync, C: Clone + Send + Sync> ApiNoContext for Contex async fn test_enum_parameters( &self, enum_header_string_array: Option<&Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs index dde036648950..0e82f7a4a002 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs @@ -8023,6 +8023,132 @@ impl TestEnumParametersEnumHeaderStringArrayParameterInner { } } +/// Enumeration of values. +/// Since this enum's variants do not hold data, we can easily define them as `#[repr(C)]` +/// which helps with FFI. +#[allow(non_camel_case_types)] +#[repr(C)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, Hash)] +#[cfg_attr(feature = "conversion", derive(frunk_enum_derive::LabelledGenericEnum))] +pub enum TestEnumParametersEnumHeaderStringParameter { + #[serde(rename = "_abc")] + Abc, + #[serde(rename = "-efg")] + Efg, + #[serde(rename = "(xyz)")] + LeftParenthesisXyzRightParenthesis, +} + +impl std::fmt::Display for TestEnumParametersEnumHeaderStringParameter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match *self { + TestEnumParametersEnumHeaderStringParameter::Abc => write!(f, "_abc"), + TestEnumParametersEnumHeaderStringParameter::Efg => write!(f, "-efg"), + TestEnumParametersEnumHeaderStringParameter::LeftParenthesisXyzRightParenthesis => write!(f, "(xyz)"), + } + } +} + +impl std::str::FromStr for TestEnumParametersEnumHeaderStringParameter { + type Err = String; + + fn from_str(s: &str) -> std::result::Result { + match s { + "_abc" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::Abc), + "-efg" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::Efg), + "(xyz)" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::LeftParenthesisXyzRightParenthesis), + _ => std::result::Result::Err(format!("Value not valid: {s}")), + } + } +} + +// Methods for converting between header::IntoHeaderValue and hyper::header::HeaderValue + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom> for hyper::header::HeaderValue { + type Error = String; + + fn try_from(hdr_value: header::IntoHeaderValue) -> std::result::Result { + let hdr_value = hdr_value.to_string(); + match hyper::header::HeaderValue::from_str(&hdr_value) { + std::result::Result::Ok(value) => std::result::Result::Ok(value), + std::result::Result::Err(e) => std::result::Result::Err( + format!("Invalid header value for TestEnumParametersEnumHeaderStringParameter - value: {hdr_value} is invalid {e}")) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom for header::IntoHeaderValue { + type Error = String; + + fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result { + match hdr_value.to_str() { + std::result::Result::Ok(value) => { + match ::from_str(value) { + std::result::Result::Ok(value) => std::result::Result::Ok(header::IntoHeaderValue(value)), + std::result::Result::Err(err) => std::result::Result::Err( + format!("Unable to convert header value '{value}' into TestEnumParametersEnumHeaderStringParameter - {err}")) + } + }, + std::result::Result::Err(e) => std::result::Result::Err( + format!("Unable to convert header: {hdr_value:?} to string: {e}")) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom>> for hyper::header::HeaderValue { + type Error = String; + + fn try_from(hdr_values: header::IntoHeaderValue>) -> std::result::Result { + let hdr_values : Vec = hdr_values.0.into_iter().map(|hdr_value| { + hdr_value.to_string() + }).collect(); + + match hyper::header::HeaderValue::from_str(&hdr_values.join(", ")) { + std::result::Result::Ok(hdr_value) => std::result::Result::Ok(hdr_value), + std::result::Result::Err(e) => std::result::Result::Err(format!("Unable to convert {hdr_values:?} into a header - {e}")) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom for header::IntoHeaderValue> { + type Error = String; + + fn try_from(hdr_values: hyper::header::HeaderValue) -> std::result::Result { + match hdr_values.to_str() { + std::result::Result::Ok(hdr_values) => { + let hdr_values : std::vec::Vec = hdr_values + .split(',') + .filter_map(|hdr_value| match hdr_value.trim() { + "" => std::option::Option::None, + hdr_value => std::option::Option::Some({ + match ::from_str(hdr_value) { + std::result::Result::Ok(value) => std::result::Result::Ok(value), + std::result::Result::Err(err) => std::result::Result::Err( + format!("Unable to convert header value '{hdr_value}' into TestEnumParametersEnumHeaderStringParameter - {err}")) + } + }) + }).collect::, String>>()?; + + std::result::Result::Ok(header::IntoHeaderValue(hdr_values)) + }, + std::result::Result::Err(e) => std::result::Result::Err(format!("Unable to parse header: {hdr_values:?} as a string - {e}")), + } + } +} + +impl TestEnumParametersEnumHeaderStringParameter { + /// Helper function to allow us to convert this model to an XML string. + /// Will panic if serialisation fails. + #[allow(dead_code)] + pub(crate) fn as_xml(&self) -> String { + serde_xml_rs::to_string(&self).expect("impossible to fail to serialize") + } +} + /// Enumeration of values. /// Since this enum's variants do not hold data, we can easily define them as `#[repr(C)]` /// which helps with FFI. diff --git a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs index f1ba3a1c86f8..53ab4b0613c2 100644 --- a/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs +++ b/samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs @@ -987,7 +987,7 @@ impl hyper::service::Service<(Request, C)> for Service where let param_enum_header_string = headers.get(HeaderName::from_static("enum_header_string")); let param_enum_header_string = match param_enum_header_string { - Some(v) => match header::IntoHeaderValue::::try_from((*v).clone()) { + Some(v) => match header::IntoHeaderValue::::try_from((*v).clone()) { Ok(result) => Some(result.0), Err(err) => { @@ -1018,7 +1018,7 @@ impl hyper::service::Service<(Request, C)> for Service where let param_enum_query_string = match param_enum_query_string { Some(param_enum_query_string) => { let param_enum_query_string = - ::from_str + ::from_str (¶m_enum_query_string); match param_enum_query_string { Ok(param_enum_query_string) => Some(param_enum_query_string), diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES index e70cf4b2482a..5332ab08344d 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/.openapi-generator/FILES @@ -51,6 +51,7 @@ docs/ReadOnlyFirst.md docs/Return.md docs/Tag.md docs/TestEnumParametersEnumHeaderStringArrayParameterInner.md +docs/TestEnumParametersEnumHeaderStringParameter.md docs/TestEnumParametersEnumQueryDoubleParameter.md docs/TestEnumParametersEnumQueryIntegerParameter.md docs/TestEnumParametersRequestEnumFormString.md diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/README.md b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/README.md index a0ed96b6df0d..fd7202a1261e 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/README.md +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/README.md @@ -253,6 +253,7 @@ Method | HTTP request | Description - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TestEnumParametersEnumHeaderStringArrayParameterInner](docs/TestEnumParametersEnumHeaderStringArrayParameterInner.md) + - [TestEnumParametersEnumHeaderStringParameter](docs/TestEnumParametersEnumHeaderStringParameter.md) - [TestEnumParametersEnumQueryDoubleParameter](docs/TestEnumParametersEnumQueryDoubleParameter.md) - [TestEnumParametersEnumQueryIntegerParameter](docs/TestEnumParametersEnumQueryIntegerParameter.md) - [TestEnumParametersRequestEnumFormString](docs/TestEnumParametersRequestEnumFormString.md) diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml index 2d1be7d9a6b8..7c364c4a75f9 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/api/openapi.yaml @@ -599,7 +599,7 @@ paths: in: header name: enum_header_string schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" - description: Query parameter enum test (string array) explode: false in: query @@ -613,7 +613,7 @@ paths: in: query name: enum_query_string schema: - $ref: "#/components/schemas/testEnumParameters_request_enum_form_string" + $ref: "#/components/schemas/testEnumParameters_enum_header_string_parameter" - description: Query parameter enum test (double) in: query name: enum_query_integer @@ -1437,6 +1437,13 @@ components: - '>' - $ type: string + testEnumParameters_enum_header_string_parameter: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string testEnumParameters_enum_query_integer_parameter: enum: - 1 diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs index 974d1f3d6587..9ebc7336a225 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/bin/cli.rs @@ -185,14 +185,14 @@ enum Operation { #[clap(value_parser = parse_json::>, long)] enum_header_string_array: Option>, /// Header parameter enum test (string) - #[clap(value_parser = parse_json::)] - enum_header_string: Option, + #[clap(value_parser = parse_json::)] + enum_header_string: Option, /// Query parameter enum test (string array) #[clap(value_parser = parse_json::>, long)] enum_query_string_array: Option>, /// Query parameter enum test (string) - #[clap(value_parser = parse_json::)] - enum_query_string: Option, + #[clap(value_parser = parse_json::)] + enum_query_string: Option, /// Query parameter enum test (double) #[clap(value_parser = parse_json::)] enum_query_integer: Option, diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs index e4a1cf520169..41ce2cfaee50 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/client/main.rs @@ -254,9 +254,9 @@ fn main() { Some("TestEnumParameters") => { let result = rt.block_on(client.test_enum_parameters( Some(&Vec::new()), - Some(models::TestEnumParametersRequestEnumFormString::Abc), + Some(models::TestEnumParametersEnumHeaderStringParameter::Abc), Some(&Vec::new()), - Some(models::TestEnumParametersRequestEnumFormString::Abc), + Some(models::TestEnumParametersEnumHeaderStringParameter::Abc), Some(models::TestEnumParametersEnumQueryIntegerParameter::Variant1), Some(models::TestEnumParametersEnumQueryDoubleParameter::Variant11), Some(models::TestEnumParametersRequestEnumFormString::Abc) diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs index 5afa1ea86240..98ed4ce9894a 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/examples/server/server.rs @@ -289,9 +289,9 @@ impl Api for Server where C: Has + Send + Sync async fn test_enum_parameters<'a>( &self, enum_header_string_array: Option<&'a Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&'a Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs index 8aa1102e56ff..10886d73eed7 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/client/mod.rs @@ -1426,9 +1426,9 @@ impl Api for Client where async fn test_enum_parameters<'a>( &self, param_enum_header_string_array: Option<&'a Vec>, - param_enum_header_string: Option, + param_enum_header_string: Option, param_enum_query_string_array: Option<&'a Vec>, - param_enum_query_string: Option, + param_enum_query_string: Option, param_enum_query_integer: Option, param_enum_query_double: Option, param_enum_form_string: Option, diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs index e4fe8a3e78f9..3c409b899326 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs @@ -396,9 +396,9 @@ pub trait Api { async fn test_enum_parameters<'a>( &self, enum_header_string_array: Option<&'a Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&'a Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, @@ -636,9 +636,9 @@ pub trait ApiNoContext { async fn test_enum_parameters<'a>( &self, enum_header_string_array: Option<&'a Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&'a Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, @@ -923,9 +923,9 @@ impl + Send + Sync, C: Clone + Send + Sync> ApiNoContext for Contex async fn test_enum_parameters<'a>( &self, enum_header_string_array: Option<&'a Vec>, - enum_header_string: Option, + enum_header_string: Option, enum_query_string_array: Option<&'a Vec>, - enum_query_string: Option, + enum_query_string: Option, enum_query_integer: Option, enum_query_double: Option, enum_form_string: Option, diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs index cb704dc645d2..c724b2becd44 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/models.rs @@ -8840,6 +8840,133 @@ impl TestEnumParametersEnumHeaderStringArrayParameterInner { } } +/// Enumeration of values. +/// Since this enum's variants do not hold data, we can easily define them as `#[repr(C)]` +/// which helps with FFI. +#[allow(non_camel_case_types)] +#[repr(C)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, Hash)] +#[cfg_attr(feature = "validate", derive(Validate))] +#[cfg_attr(feature = "conversion", derive(frunk_enum_derive::LabelledGenericEnum))] +pub enum TestEnumParametersEnumHeaderStringParameter { + #[serde(rename = "_abc")] + Abc, + #[serde(rename = "-efg")] + Efg, + #[serde(rename = "(xyz)")] + LeftParenthesisXyzRightParenthesis, +} + +impl std::fmt::Display for TestEnumParametersEnumHeaderStringParameter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match *self { + TestEnumParametersEnumHeaderStringParameter::Abc => write!(f, "_abc"), + TestEnumParametersEnumHeaderStringParameter::Efg => write!(f, "-efg"), + TestEnumParametersEnumHeaderStringParameter::LeftParenthesisXyzRightParenthesis => write!(f, "(xyz)"), + } + } +} + +impl std::str::FromStr for TestEnumParametersEnumHeaderStringParameter { + type Err = String; + + fn from_str(s: &str) -> std::result::Result { + match s { + "_abc" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::Abc), + "-efg" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::Efg), + "(xyz)" => std::result::Result::Ok(TestEnumParametersEnumHeaderStringParameter::LeftParenthesisXyzRightParenthesis), + _ => std::result::Result::Err(format!("Value not valid: {s}")), + } + } +} + +// Methods for converting between header::IntoHeaderValue and hyper::header::HeaderValue + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom> for hyper::header::HeaderValue { + type Error = String; + + fn try_from(hdr_value: header::IntoHeaderValue) -> std::result::Result { + let hdr_value = hdr_value.to_string(); + match hyper::header::HeaderValue::from_str(&hdr_value) { + std::result::Result::Ok(value) => std::result::Result::Ok(value), + std::result::Result::Err(e) => std::result::Result::Err( + format!("Invalid header value for TestEnumParametersEnumHeaderStringParameter - value: {hdr_value} is invalid {e}")) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom for header::IntoHeaderValue { + type Error = String; + + fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result { + match hdr_value.to_str() { + std::result::Result::Ok(value) => { + match ::from_str(value) { + std::result::Result::Ok(value) => std::result::Result::Ok(header::IntoHeaderValue(value)), + std::result::Result::Err(err) => std::result::Result::Err( + format!("Unable to convert header value '{value}' into TestEnumParametersEnumHeaderStringParameter - {err}")) + } + }, + std::result::Result::Err(e) => std::result::Result::Err( + format!("Unable to convert header: {hdr_value:?} to string: {e}")) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom>> for hyper::header::HeaderValue { + type Error = String; + + fn try_from(hdr_values: header::IntoHeaderValue>) -> std::result::Result { + let hdr_values : Vec = hdr_values.0.into_iter().map(|hdr_value| { + hdr_value.to_string() + }).collect(); + + match hyper::header::HeaderValue::from_str(&hdr_values.join(", ")) { + std::result::Result::Ok(hdr_value) => std::result::Result::Ok(hdr_value), + std::result::Result::Err(e) => std::result::Result::Err(format!("Unable to convert {hdr_values:?} into a header - {e}",)) + } + } +} + +#[cfg(any(feature = "client", feature = "server"))] +impl std::convert::TryFrom for header::IntoHeaderValue> { + type Error = String; + + fn try_from(hdr_values: hyper::header::HeaderValue) -> std::result::Result { + match hdr_values.to_str() { + std::result::Result::Ok(hdr_values) => { + let hdr_values : std::vec::Vec = hdr_values + .split(',') + .filter_map(|hdr_value| match hdr_value.trim() { + "" => std::option::Option::None, + hdr_value => std::option::Option::Some({ + match ::from_str(hdr_value) { + std::result::Result::Ok(value) => std::result::Result::Ok(value), + std::result::Result::Err(err) => std::result::Result::Err( + format!("Unable to convert header value '{hdr_value}' into TestEnumParametersEnumHeaderStringParameter - {err}")) + } + }) + }).collect::, String>>()?; + + std::result::Result::Ok(header::IntoHeaderValue(hdr_values)) + }, + std::result::Result::Err(e) => std::result::Result::Err(format!("Unable to parse header: {hdr_values:?} as a string - {e}")), + } + } +} + +impl TestEnumParametersEnumHeaderStringParameter { + /// Helper function to allow us to convert this model to an XML string. + /// Will panic if serialisation fails. + #[allow(dead_code)] + pub(crate) fn as_xml(&self) -> String { + serde_xml_rs::to_string(&self).expect("impossible to fail to serialize") + } +} + /// Enumeration of values. /// Since this enum's variants do not hold data, we can easily define them as `#[repr(C)]` /// which helps with FFI. diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs index 658f977e24d5..40da357dd587 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/server/mod.rs @@ -1487,7 +1487,7 @@ where let param_enum_header_string = headers.get(HeaderName::from_static("enum_header_string")); let param_enum_header_string = match param_enum_header_string { - Some(v) => match header::IntoHeaderValue::::try_from((*v).clone()) { + Some(v) => match header::IntoHeaderValue::::try_from((*v).clone()) { Ok(result) => Some(result.0), Err(err) => { @@ -1518,7 +1518,7 @@ where let param_enum_query_string = match param_enum_query_string { Some(param_enum_query_string) => { let param_enum_query_string = - ::from_str + ::from_str (¶m_enum_query_string); match param_enum_query_string { Ok(param_enum_query_string) => Some(param_enum_query_string), From 86f45b3a11d345020a4970f9d57d902223e361ff Mon Sep 17 00:00:00 2001 From: seonwooj0810 Date: Wed, 24 Jun 2026 10:54:52 +0900 Subject: [PATCH 2/2] Regenerate csharp generichost FormModels samples Align the FakeApiTests enumHeaderString/enumQueryString parameter types with the FakeApi signature (EnumHeaderStringParameter) so the samples match CI-generated output and compile. Signed-off-by: seonwooj0810 --- .../generichost/net10/FormModels/.openapi-generator/FILES | 1 - .../FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs | 4 ++-- .../generichost/net4.7/FormModels/.openapi-generator/FILES | 1 - .../FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs | 4 ++-- .../generichost/net4.8/FormModels/.openapi-generator/FILES | 1 - .../FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs | 4 ++-- .../generichost/net8/FormModels/.openapi-generator/FILES | 1 - .../FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs | 4 ++-- .../generichost/net9/FormModels/.openapi-generator/FILES | 1 - .../FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs | 4 ++-- 10 files changed, 10 insertions(+), 15 deletions(-) diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES index 2af6b5b34fe6..737d53400248 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES @@ -141,7 +141,6 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs index 8068d40345a1..1924842cdbef 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs @@ -217,11 +217,11 @@ public async Task TestEnumParametersAsyncTest() { Client.Option enumFormString = default; Client.Option> enumFormStringArray = default; - Client.Option enumHeaderString = default; + Client.Option enumHeaderString = default; Client.Option> enumHeaderStringArray = default; Client.Option enumQueryDouble = default; Client.Option enumQueryInteger = default; - Client.Option enumQueryString = default; + Client.Option enumQueryString = default; Client.Option> enumQueryStringArray = default; await _instance.TestEnumParametersAsync(enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES index de2dbe82eab9..4d9b3d8248d3 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/.openapi-generator/FILES @@ -141,7 +141,6 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs index 12cea017ba96..62c158ea45da 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs @@ -217,11 +217,11 @@ public async Task TestEnumParametersAsyncTest() { Client.Option enumFormString = default; Client.Option> enumFormStringArray = default; - Client.Option enumHeaderString = default; + Client.Option enumHeaderString = default; Client.Option> enumHeaderStringArray = default; Client.Option enumQueryDouble = default; Client.Option enumQueryInteger = default; - Client.Option enumQueryString = default; + Client.Option enumQueryString = default; Client.Option> enumQueryStringArray = default; await _instance.TestEnumParametersAsync(enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES index de2dbe82eab9..4d9b3d8248d3 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/.openapi-generator/FILES @@ -141,7 +141,6 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs index 12cea017ba96..62c158ea45da 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs @@ -217,11 +217,11 @@ public async Task TestEnumParametersAsyncTest() { Client.Option enumFormString = default; Client.Option> enumFormStringArray = default; - Client.Option enumHeaderString = default; + Client.Option enumHeaderString = default; Client.Option> enumHeaderStringArray = default; Client.Option enumQueryDouble = default; Client.Option enumQueryInteger = default; - Client.Option enumQueryString = default; + Client.Option enumQueryString = default; Client.Option> enumQueryStringArray = default; await _instance.TestEnumParametersAsync(enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES index 2af6b5b34fe6..737d53400248 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES @@ -141,7 +141,6 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs index 8068d40345a1..1924842cdbef 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs @@ -217,11 +217,11 @@ public async Task TestEnumParametersAsyncTest() { Client.Option enumFormString = default; Client.Option> enumFormStringArray = default; - Client.Option enumHeaderString = default; + Client.Option enumHeaderString = default; Client.Option> enumHeaderStringArray = default; Client.Option enumQueryDouble = default; Client.Option enumQueryInteger = default; - Client.Option enumQueryString = default; + Client.Option enumQueryString = default; Client.Option> enumQueryStringArray = default; await _instance.TestEnumParametersAsync(enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES index 2af6b5b34fe6..737d53400248 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES @@ -141,7 +141,6 @@ docs/models/ZeroBasedEnumClassZeroBasedEnum.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/TestEnumParametersEnumHeaderStringParameterTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/AnotherFakeApi.cs diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs index 8068d40345a1..1924842cdbef 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs @@ -217,11 +217,11 @@ public async Task TestEnumParametersAsyncTest() { Client.Option enumFormString = default; Client.Option> enumFormStringArray = default; - Client.Option enumHeaderString = default; + Client.Option enumHeaderString = default; Client.Option> enumHeaderStringArray = default; Client.Option enumQueryDouble = default; Client.Option enumQueryInteger = default; - Client.Option enumQueryString = default; + Client.Option enumQueryString = default; Client.Option> enumQueryStringArray = default; await _instance.TestEnumParametersAsync(enumFormString, enumFormStringArray, enumHeaderString, enumHeaderStringArray, enumQueryDouble, enumQueryInteger, enumQueryString, enumQueryStringArray); }