forked from loafle/openapi-generator-original
[python-experimental] Fixes enum is comparison (#12176)
* Fixes enum is comparison * Reverts file
This commit is contained in:
parent
35d6fd4a0a
commit
fbdd3c3e22
@ -11,6 +11,6 @@ def NONE(cls):
|
||||
@classmethod
|
||||
@property
|
||||
def {{name}}(cls):
|
||||
return cls._enum_by_value[{{{value}}}]({{{value}}})
|
||||
return cls({{{value}}})
|
||||
{{/each}}
|
||||
{{/with}}
|
@ -1389,6 +1389,7 @@ class Schema:
|
||||
# Use case: value is None, True, False, or an enum value
|
||||
value = arg
|
||||
for key in path[1:]:
|
||||
# if path is bigger than one, get the value that mfg_cls validated
|
||||
value = value[key]
|
||||
if hasattr(mfg_cls, '_enum_by_value'):
|
||||
mfg_cls = mfg_cls._enum_by_value[value]
|
||||
|
@ -84,12 +84,12 @@ class EnumQueryStringArraySchema(
|
||||
@classmethod
|
||||
@property
|
||||
def GREATER_THAN(cls):
|
||||
return cls._enum_by_value[">"](">")
|
||||
return cls(">")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DOLLAR(cls):
|
||||
return cls._enum_by_value["$"]("$")
|
||||
return cls("$")
|
||||
|
||||
|
||||
class EnumQueryStringSchema(
|
||||
@ -106,17 +106,17 @@ class EnumQueryStringSchema(
|
||||
@classmethod
|
||||
@property
|
||||
def _ABC(cls):
|
||||
return cls._enum_by_value["_abc"]("_abc")
|
||||
return cls("_abc")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EFG(cls):
|
||||
return cls._enum_by_value["-efg"]("-efg")
|
||||
return cls("-efg")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def XYZ(cls):
|
||||
return cls._enum_by_value["(xyz)"]("(xyz)")
|
||||
return cls("(xyz)")
|
||||
|
||||
|
||||
class EnumQueryIntegerSchema(
|
||||
@ -132,12 +132,12 @@ class EnumQueryIntegerSchema(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1(cls):
|
||||
return cls._enum_by_value[1](1)
|
||||
return cls(1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def NEGATIVE_2(cls):
|
||||
return cls._enum_by_value[-2](-2)
|
||||
return cls(-2)
|
||||
|
||||
|
||||
class EnumQueryDoubleSchema(
|
||||
@ -153,12 +153,12 @@ class EnumQueryDoubleSchema(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1_PT_1(cls):
|
||||
return cls._enum_by_value[1.1](1.1)
|
||||
return cls(1.1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def NEGATIVE_1_PT_2(cls):
|
||||
return cls._enum_by_value[-1.2](-1.2)
|
||||
return cls(-1.2)
|
||||
RequestRequiredQueryParams = typing.TypedDict(
|
||||
'RequestRequiredQueryParams',
|
||||
{
|
||||
@ -225,12 +225,12 @@ class EnumHeaderStringArraySchema(
|
||||
@classmethod
|
||||
@property
|
||||
def GREATER_THAN(cls):
|
||||
return cls._enum_by_value[">"](">")
|
||||
return cls(">")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DOLLAR(cls):
|
||||
return cls._enum_by_value["$"]("$")
|
||||
return cls("$")
|
||||
|
||||
|
||||
class EnumHeaderStringSchema(
|
||||
@ -247,17 +247,17 @@ class EnumHeaderStringSchema(
|
||||
@classmethod
|
||||
@property
|
||||
def _ABC(cls):
|
||||
return cls._enum_by_value["_abc"]("_abc")
|
||||
return cls("_abc")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EFG(cls):
|
||||
return cls._enum_by_value["-efg"]("-efg")
|
||||
return cls("-efg")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def XYZ(cls):
|
||||
return cls._enum_by_value["(xyz)"]("(xyz)")
|
||||
return cls("(xyz)")
|
||||
RequestRequiredHeaderParams = typing.TypedDict(
|
||||
'RequestRequiredHeaderParams',
|
||||
{
|
||||
@ -313,12 +313,12 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded(
|
||||
@classmethod
|
||||
@property
|
||||
def GREATER_THAN(cls):
|
||||
return cls._enum_by_value[">"](">")
|
||||
return cls(">")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DOLLAR(cls):
|
||||
return cls._enum_by_value["$"]("$")
|
||||
return cls("$")
|
||||
|
||||
|
||||
class enum_form_string(
|
||||
@ -335,17 +335,17 @@ class SchemaForRequestBodyApplicationXWwwFormUrlencoded(
|
||||
@classmethod
|
||||
@property
|
||||
def _ABC(cls):
|
||||
return cls._enum_by_value["_abc"]("_abc")
|
||||
return cls("_abc")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EFG(cls):
|
||||
return cls._enum_by_value["-efg"]("-efg")
|
||||
return cls("-efg")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def XYZ(cls):
|
||||
return cls._enum_by_value["(xyz)"]("(xyz)")
|
||||
return cls("(xyz)")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -87,17 +87,17 @@ class StatusSchema(
|
||||
@classmethod
|
||||
@property
|
||||
def AVAILABLE(cls):
|
||||
return cls._enum_by_value["available"]("available")
|
||||
return cls("available")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def PENDING(cls):
|
||||
return cls._enum_by_value["pending"]("pending")
|
||||
return cls("pending")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def SOLD(cls):
|
||||
return cls._enum_by_value["sold"]("sold")
|
||||
return cls("sold")
|
||||
RequestRequiredQueryParams = typing.TypedDict(
|
||||
'RequestRequiredQueryParams',
|
||||
{
|
||||
|
@ -90,7 +90,7 @@ class BasquePig(
|
||||
@classmethod
|
||||
@property
|
||||
def BASQUEPIG(cls):
|
||||
return cls._enum_by_value["BasquePig"]("BasquePig")
|
||||
return cls("BasquePig")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -82,4 +82,4 @@ class BooleanEnum(
|
||||
@classmethod
|
||||
@property
|
||||
def TRUE(cls):
|
||||
return cls._enum_by_value[True](True)
|
||||
return cls(True)
|
||||
|
@ -87,7 +87,7 @@ class ComplexQuadrilateralAllOf(
|
||||
@classmethod
|
||||
@property
|
||||
def COMPLEXQUADRILATERAL(cls):
|
||||
return cls._enum_by_value["ComplexQuadrilateral"]("ComplexQuadrilateral")
|
||||
return cls("ComplexQuadrilateral")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -83,9 +83,9 @@ class Currency(
|
||||
@classmethod
|
||||
@property
|
||||
def EUR(cls):
|
||||
return cls._enum_by_value["eur"]("eur")
|
||||
return cls("eur")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def USD(cls):
|
||||
return cls._enum_by_value["usd"]("usd")
|
||||
return cls("usd")
|
||||
|
@ -90,7 +90,7 @@ class DanishPig(
|
||||
@classmethod
|
||||
@property
|
||||
def DANISHPIG(cls):
|
||||
return cls._enum_by_value["DanishPig"]("DanishPig")
|
||||
return cls("DanishPig")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -88,12 +88,12 @@ class EnumArrays(
|
||||
@classmethod
|
||||
@property
|
||||
def GREATER_THAN_EQUALS(cls):
|
||||
return cls._enum_by_value[">="](">=")
|
||||
return cls(">=")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DOLLAR(cls):
|
||||
return cls._enum_by_value["$"]("$")
|
||||
return cls("$")
|
||||
|
||||
|
||||
class array_enum(
|
||||
@ -114,12 +114,12 @@ class EnumArrays(
|
||||
@classmethod
|
||||
@property
|
||||
def FISH(cls):
|
||||
return cls._enum_by_value["fish"]("fish")
|
||||
return cls("fish")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def CRAB(cls):
|
||||
return cls._enum_by_value["crab"]("crab")
|
||||
return cls("crab")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -84,14 +84,14 @@ class EnumClass(
|
||||
@classmethod
|
||||
@property
|
||||
def _ABC(cls):
|
||||
return cls._enum_by_value["_abc"]("_abc")
|
||||
return cls("_abc")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EFG(cls):
|
||||
return cls._enum_by_value["-efg"]("-efg")
|
||||
return cls("-efg")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def XYZ(cls):
|
||||
return cls._enum_by_value["(xyz)"]("(xyz)")
|
||||
return cls("(xyz)")
|
||||
|
@ -92,17 +92,17 @@ class EnumTest(
|
||||
@classmethod
|
||||
@property
|
||||
def UPPER(cls):
|
||||
return cls._enum_by_value["UPPER"]("UPPER")
|
||||
return cls("UPPER")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def LOWER(cls):
|
||||
return cls._enum_by_value["lower"]("lower")
|
||||
return cls("lower")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EMPTY(cls):
|
||||
return cls._enum_by_value[""]("")
|
||||
return cls("")
|
||||
|
||||
|
||||
class enum_string_required(
|
||||
@ -119,17 +119,17 @@ class EnumTest(
|
||||
@classmethod
|
||||
@property
|
||||
def UPPER(cls):
|
||||
return cls._enum_by_value["UPPER"]("UPPER")
|
||||
return cls("UPPER")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def LOWER(cls):
|
||||
return cls._enum_by_value["lower"]("lower")
|
||||
return cls("lower")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def EMPTY(cls):
|
||||
return cls._enum_by_value[""]("")
|
||||
return cls("")
|
||||
|
||||
|
||||
class enum_integer(
|
||||
@ -145,12 +145,12 @@ class EnumTest(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1(cls):
|
||||
return cls._enum_by_value[1](1)
|
||||
return cls(1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def NEGATIVE_1(cls):
|
||||
return cls._enum_by_value[-1](-1)
|
||||
return cls(-1)
|
||||
|
||||
|
||||
class enum_number(
|
||||
@ -166,12 +166,12 @@ class EnumTest(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1_PT_1(cls):
|
||||
return cls._enum_by_value[1.1](1.1)
|
||||
return cls(1.1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def NEGATIVE_1_PT_2(cls):
|
||||
return cls._enum_by_value[-1.2](-1.2)
|
||||
return cls(-1.2)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
|
@ -87,7 +87,7 @@ class EquilateralTriangleAllOf(
|
||||
@classmethod
|
||||
@property
|
||||
def EQUILATERALTRIANGLE(cls):
|
||||
return cls._enum_by_value["EquilateralTriangle"]("EquilateralTriangle")
|
||||
return cls("EquilateralTriangle")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -84,14 +84,14 @@ class IntegerEnum(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_0(cls):
|
||||
return cls._enum_by_value[0](0)
|
||||
return cls(0)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1(cls):
|
||||
return cls._enum_by_value[1](1)
|
||||
return cls(1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_2(cls):
|
||||
return cls._enum_by_value[2](2)
|
||||
return cls(2)
|
||||
|
@ -84,14 +84,14 @@ class IntegerEnumBig(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_10(cls):
|
||||
return cls._enum_by_value[10](10)
|
||||
return cls(10)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_11(cls):
|
||||
return cls._enum_by_value[11](11)
|
||||
return cls(11)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_12(cls):
|
||||
return cls._enum_by_value[12](12)
|
||||
return cls(12)
|
||||
|
@ -82,4 +82,4 @@ class IntegerEnumOneValue(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_0(cls):
|
||||
return cls._enum_by_value[0](0)
|
||||
return cls(0)
|
||||
|
@ -84,14 +84,14 @@ class IntegerEnumWithDefaultValue(
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_0(cls):
|
||||
return cls._enum_by_value[0](0)
|
||||
return cls(0)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_1(cls):
|
||||
return cls._enum_by_value[1](1)
|
||||
return cls(1)
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def POSITIVE_2(cls):
|
||||
return cls._enum_by_value[2](2)
|
||||
return cls(2)
|
||||
|
@ -87,7 +87,7 @@ class IsoscelesTriangleAllOf(
|
||||
@classmethod
|
||||
@property
|
||||
def ISOSCELESTRIANGLE(cls):
|
||||
return cls._enum_by_value["IsoscelesTriangle"]("IsoscelesTriangle")
|
||||
return cls("IsoscelesTriangle")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -132,12 +132,12 @@ class MapTest(
|
||||
@classmethod
|
||||
@property
|
||||
def UPPER(cls):
|
||||
return cls._enum_by_value["UPPER"]("UPPER")
|
||||
return cls("UPPER")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def LOWER(cls):
|
||||
return cls._enum_by_value["lower"]("lower")
|
||||
return cls("lower")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -93,17 +93,17 @@ class Order(
|
||||
@classmethod
|
||||
@property
|
||||
def PLACED(cls):
|
||||
return cls._enum_by_value["placed"]("placed")
|
||||
return cls("placed")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def APPROVED(cls):
|
||||
return cls._enum_by_value["approved"]("approved")
|
||||
return cls("approved")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DELIVERED(cls):
|
||||
return cls._enum_by_value["delivered"]("delivered")
|
||||
return cls("delivered")
|
||||
complete = BoolSchema
|
||||
|
||||
|
||||
|
@ -118,17 +118,17 @@ class Pet(
|
||||
@classmethod
|
||||
@property
|
||||
def AVAILABLE(cls):
|
||||
return cls._enum_by_value["available"]("available")
|
||||
return cls("available")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def PENDING(cls):
|
||||
return cls._enum_by_value["pending"]("pending")
|
||||
return cls("pending")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def SOLD(cls):
|
||||
return cls._enum_by_value["sold"]("sold")
|
||||
return cls("sold")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -91,7 +91,7 @@ class QuadrilateralInterface(
|
||||
@classmethod
|
||||
@property
|
||||
def QUADRILATERAL(cls):
|
||||
return cls._enum_by_value["Quadrilateral"]("Quadrilateral")
|
||||
return cls("Quadrilateral")
|
||||
quadrilateralType = StrSchema
|
||||
|
||||
def __new__(
|
||||
|
@ -87,7 +87,7 @@ class ScaleneTriangleAllOf(
|
||||
@classmethod
|
||||
@property
|
||||
def SCALENETRIANGLE(cls):
|
||||
return cls._enum_by_value["ScaleneTriangle"]("ScaleneTriangle")
|
||||
return cls("ScaleneTriangle")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -87,7 +87,7 @@ class SimpleQuadrilateralAllOf(
|
||||
@classmethod
|
||||
@property
|
||||
def SIMPLEQUADRILATERAL(cls):
|
||||
return cls._enum_by_value["SimpleQuadrilateral"]("SimpleQuadrilateral")
|
||||
return cls("SimpleQuadrilateral")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -98,35 +98,33 @@ lines''': "MULTIPLE_LINES",
|
||||
@classmethod
|
||||
@property
|
||||
def PLACED(cls):
|
||||
return cls._enum_by_value["placed"]("placed")
|
||||
return cls("placed")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def APPROVED(cls):
|
||||
return cls._enum_by_value["approved"]("approved")
|
||||
return cls("approved")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DELIVERED(cls):
|
||||
return cls._enum_by_value["delivered"]("delivered")
|
||||
return cls("delivered")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def SINGLE_QUOTED(cls):
|
||||
return cls._enum_by_value["single quoted"]("single quoted")
|
||||
return cls("single quoted")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def MULTIPLE_LINES(cls):
|
||||
return cls._enum_by_value['''multiple
|
||||
lines''']('''multiple
|
||||
return cls('''multiple
|
||||
lines''')
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DOUBLE_QUOTE_WITH_NEWLINE(cls):
|
||||
return cls._enum_by_value['''double quote
|
||||
with newline''']('''double quote
|
||||
return cls('''double quote
|
||||
with newline''')
|
||||
|
||||
def __new__(
|
||||
|
@ -84,14 +84,14 @@ class StringEnumWithDefaultValue(
|
||||
@classmethod
|
||||
@property
|
||||
def PLACED(cls):
|
||||
return cls._enum_by_value["placed"]("placed")
|
||||
return cls("placed")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def APPROVED(cls):
|
||||
return cls._enum_by_value["approved"]("approved")
|
||||
return cls("approved")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def DELIVERED(cls):
|
||||
return cls._enum_by_value["delivered"]("delivered")
|
||||
return cls("delivered")
|
||||
|
@ -91,7 +91,7 @@ class TriangleInterface(
|
||||
@classmethod
|
||||
@property
|
||||
def TRIANGLE(cls):
|
||||
return cls._enum_by_value["Triangle"]("Triangle")
|
||||
return cls("Triangle")
|
||||
triangleType = StrSchema
|
||||
|
||||
def __new__(
|
||||
|
@ -92,7 +92,7 @@ class Whale(
|
||||
@classmethod
|
||||
@property
|
||||
def WHALE(cls):
|
||||
return cls._enum_by_value["whale"]("whale")
|
||||
return cls("whale")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -92,17 +92,17 @@ class Zebra(
|
||||
@classmethod
|
||||
@property
|
||||
def PLAINS(cls):
|
||||
return cls._enum_by_value["plains"]("plains")
|
||||
return cls("plains")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def MOUNTAIN(cls):
|
||||
return cls._enum_by_value["mountain"]("mountain")
|
||||
return cls("mountain")
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def GREVYS(cls):
|
||||
return cls._enum_by_value["grevys"]("grevys")
|
||||
return cls("grevys")
|
||||
|
||||
|
||||
class className(
|
||||
@ -117,7 +117,7 @@ class Zebra(
|
||||
@classmethod
|
||||
@property
|
||||
def ZEBRA(cls):
|
||||
return cls._enum_by_value["zebra"]("zebra")
|
||||
return cls("zebra")
|
||||
|
||||
|
||||
def __new__(
|
||||
|
@ -1396,6 +1396,7 @@ class Schema:
|
||||
# Use case: value is None, True, False, or an enum value
|
||||
value = arg
|
||||
for key in path[1:]:
|
||||
# if path is bigger than one, get the value that mfg_cls validated
|
||||
value = value[key]
|
||||
if hasattr(mfg_cls, '_enum_by_value'):
|
||||
mfg_cls = mfg_cls._enum_by_value[value]
|
||||
|
@ -28,8 +28,7 @@ class TestBooleanEnum(unittest.TestCase):
|
||||
def test_BooleanEnum(self):
|
||||
"""Test BooleanEnum"""
|
||||
model = BooleanEnum(True)
|
||||
# TODO why is BooleanEnum.TRUE.__class__ DynamicDynamicBooleanEnum? It should only have one Dynamic
|
||||
# assert model is BooleanEnum.TRUE
|
||||
assert model is BooleanEnum.TRUE
|
||||
assert repr(model) == '<DynamicBooleanEnum: True>'
|
||||
with self.assertRaises(petstore_api.ApiValueError):
|
||||
BooleanEnum(False)
|
||||
|
@ -96,7 +96,7 @@ class TestCombineNonObjectSchemas(unittest.TestCase):
|
||||
# accessing invalid enum throws an exception
|
||||
invalid_enums = ['POSITIVE_1', 'POSITIVE_2']
|
||||
for invalid_enum in invalid_enums:
|
||||
with self.assertRaises(KeyError):
|
||||
with self.assertRaises(petstore_api.ApiValueError):
|
||||
getattr(IntegerOneEnum, invalid_enum)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user