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.yaml
From 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