From f572125b30b82b516512c44a3da4bb103a95767a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 26 Apr 2021 14:01:40 +0800 Subject: [PATCH] [Python] Fix exclusive min and max (#9340) * [Python] Fix exclusiveMinimum and exclusiveMaximum conditions * add tests, update samples Co-authored-by: Jiri Kuncar --- .../openapi-generator/src/main/resources/python/api.mustache | 4 ++-- ...fake-endpoints-models-for-testing-with-http-signature.yaml | 2 ++ .../client/petstore/python/petstore_api/api/fake_api.py | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/python/api.mustache b/modules/openapi-generator/src/main/resources/python/api.mustache index cbad6df2c54..37339fc5115 100644 --- a/modules/openapi-generator/src/main/resources/python/api.mustache +++ b/modules/openapi-generator/src/main/resources/python/api.mustache @@ -230,8 +230,8 @@ class {{classname}}(object): 'min_length': {{minLength}},{{/minLength}}{{#maxItems}} 'max_items': {{maxItems}},{{/maxItems}}{{#minItems}} 'min_items': {{minItems}},{{/minItems}}{{#maximum}} - {{#exclusiveMaximum}}'exclusive_maximum'{{/exclusiveMaximum}}'inclusive_maximum'{{^exclusiveMaximum}}{{/exclusiveMaximum}}: {{maximum}},{{/maximum}}{{#minimum}} - {{#exclusiveMinimum}}'exclusive_minimum'{{/exclusiveMinimum}}'inclusive_minimum'{{^exclusiveMinimum}}{{/exclusiveMinimum}}: {{minimum}},{{/minimum}}{{#pattern}} + {{#exclusiveMaximum}}'exclusive_maximum'{{/exclusiveMaximum}}{{^exclusiveMaximum}}'inclusive_maximum'{{/exclusiveMaximum}}: {{maximum}},{{/maximum}}{{#minimum}} + {{#exclusiveMinimum}}'exclusive_minimum'{{/exclusiveMinimum}}{{^exclusiveMinimum}}'inclusive_minimum'{{/exclusiveMinimum}}: {{minimum}},{{/minimum}}{{#pattern}} 'regex': { 'pattern': r'{{{vendorExtensions.x-regex}}}', # noqa: E501{{#vendorExtensions.x-modifiers}} {{#-first}}'flags': (re.{{.}}{{/-first}}{{^-first}} re.{{.}}{{/-first}}{{^-last}} | {{/-last}}{{#-last}}){{/-last}}{{/vendorExtensions.x-modifiers}} diff --git a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml index 3c77711d37c..a1e07d488bd 100644 --- a/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml @@ -692,12 +692,14 @@ paths: type: number format: float maximum: 987.6 + exclusiveMaximum: true double: description: None type: number format: double minimum: 67.8 maximum: 123.4 + exclusiveMaximum: true string: description: None type: string diff --git a/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py b/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py index 5f98e228c3b..27a387e0570 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py +++ b/samples/openapi3/client/petstore/python/petstore_api/api/fake_api.py @@ -2239,7 +2239,7 @@ class FakeApi(object): }, ('double',): { - 'inclusive_maximum': 123.4, + 'exclusive_maximum': 123.4, 'inclusive_minimum': 67.8, }, ('pattern_without_delimiter',): { @@ -2260,7 +2260,7 @@ class FakeApi(object): }, ('float',): { - 'inclusive_maximum': 987.6, + 'exclusive_maximum': 987.6, }, ('string',): {