Download the files in this gist to a folder called bug-repro.
If you wish to use openapi-generator repository, place bug-repro under the root of the repository.
The Item model should have the following fields defined like so:
class Item(BaseModel):
is_offer: Optional[StrictBool] = None
my_enum: Optional[MyEnum] = None
...OpenAPI normalizer SIMPLIFY_ONEOF_ANYOF does not work (at least for Python).
New models are introduced: ItemMyEnum, IsOffer and Q.
Item's definition looks like:
class Item(BaseModel):
is_offer: Optional[IsOffer] = None
my_enum: Optional[ItemMyEnum] = None
...It makes usage very cumbersome:
Item(name='foo',
my_enum=ItemMyEnum(MyEnum.VALUE_MINUS_1),
is_offer=IsOffer(True))From the repository root run:
./run-in-docker.sh generate -c bug-repro/generator-config.yamlFrom the parent folder of bug-repro run:
OPENAPI_GENERATOR_VERSION=v7.2.0
docker run --rm -w /gen \
-v ${PWD}:/gen \
-u "$(id -u):$(id -g)" \
openapitools/openapi-generator-cli:${OPENAPI_GENERATOR_VERSION} generate \
-c bug-repro/generator-config.yaml