mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-28 12:30:54 +00:00
[python] Check if the given input is a container (Array or Map) when validating enum values (#19316)
* checks if input is Array or Map in validate_enum * update samples
This commit is contained in:
parent
ea4b17c32f
commit
45fa4384e7
@ -73,15 +73,22 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
|
|||||||
|
|
||||||
{{/isNullable}}
|
{{/isNullable}}
|
||||||
{{/required}}
|
{{/required}}
|
||||||
|
{{#isContainer}}
|
||||||
{{#isArray}}
|
{{#isArray}}
|
||||||
for i in value:
|
for i in value:
|
||||||
if i not in set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]):
|
if i not in set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]):
|
||||||
raise ValueError("each list item must be one of ({{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}})")
|
raise ValueError("each list item must be one of ({{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}})")
|
||||||
{{/isArray}}
|
{{/isArray}}
|
||||||
{{^isArray}}
|
{{#isMap}}
|
||||||
|
for i in value.values():
|
||||||
|
if i not in set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]):
|
||||||
|
raise ValueError("dict values must be one of enum values ({{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}})")
|
||||||
|
{{/isMap}}
|
||||||
|
{{/isContainer}}
|
||||||
|
{{^isContainer}}
|
||||||
if value not in set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]):
|
if value not in set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]):
|
||||||
raise ValueError("must be one of enum values ({{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}})")
|
raise ValueError("must be one of enum values ({{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}})")
|
||||||
{{/isArray}}
|
{{/isContainer}}
|
||||||
return value
|
return value
|
||||||
{{/isEnum}}
|
{{/isEnum}}
|
||||||
{{/vars}}
|
{{/vars}}
|
||||||
|
@ -38,8 +38,9 @@ class MapTest(BaseModel):
|
|||||||
if value is None:
|
if value is None:
|
||||||
return value
|
return value
|
||||||
|
|
||||||
if value not in set(['UPPER', 'lower']):
|
for i in value.values():
|
||||||
raise ValueError("must be one of enum values ('UPPER', 'lower')")
|
if i not in set(['UPPER', 'lower']):
|
||||||
|
raise ValueError("dict values must be one of enum values ('UPPER', 'lower')")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
|
@ -39,8 +39,9 @@ class MapTest(BaseModel):
|
|||||||
if value is None:
|
if value is None:
|
||||||
return value
|
return value
|
||||||
|
|
||||||
if value not in set(['UPPER', 'lower']):
|
for i in value.values():
|
||||||
raise ValueError("must be one of enum values ('UPPER', 'lower')")
|
if i not in set(['UPPER', 'lower']):
|
||||||
|
raise ValueError("dict values must be one of enum values ('UPPER', 'lower')")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user