Skip to content

Commit f9e7f9d

Browse files
committed
add tests for #16217
1 parent 77311c3 commit f9e7f9d

File tree

10 files changed

+64
-0
lines changed

10 files changed

+64
-0
lines changed

modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2246,3 +2246,30 @@ components:
22462246
description: Property
22472247
type: boolean
22482248
default: false
2249+
Creature:
2250+
type: object
2251+
required:
2252+
- info
2253+
- type
2254+
properties:
2255+
info:
2256+
$ref: "#/components/schemas/CreatureInfo"
2257+
type:
2258+
type: string
2259+
discriminator:
2260+
propertyName: type
2261+
CreatureInfo:
2262+
type: object
2263+
required:
2264+
- name
2265+
properties:
2266+
name:
2267+
type: string
2268+
Tiger:
2269+
allOf:
2270+
- $ref: "#/components/schemas/Tiger"
2271+
- type: object
2272+
properties:
2273+
skill:
2274+
type: string
2275+

samples/openapi3/client/petstore/python-aiohttp/.openapi-generator/FILES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ docs/CircularReferenceModel.md
2222
docs/ClassModel.md
2323
docs/Client.md
2424
docs/Color.md
25+
docs/Creature.md
26+
docs/CreatureInfo.md
2527
docs/DanishPig.md
2628
docs/DefaultApi.md
2729
docs/DeprecatedObject.md
@@ -79,6 +81,7 @@ docs/SpecialModelName.md
7981
docs/SpecialName.md
8082
docs/StoreApi.md
8183
docs/Tag.md
84+
docs/Tiger.md
8285
docs/User.md
8386
docs/UserApi.md
8487
docs/WithNestedOneOf.md
@@ -115,6 +118,8 @@ petstore_api/models/circular_reference_model.py
115118
petstore_api/models/class_model.py
116119
petstore_api/models/client.py
117120
petstore_api/models/color.py
121+
petstore_api/models/creature.py
122+
petstore_api/models/creature_info.py
118123
petstore_api/models/danish_pig.py
119124
petstore_api/models/deprecated_object.py
120125
petstore_api/models/dog.py
@@ -167,6 +172,7 @@ petstore_api/models/special_character_enum.py
167172
petstore_api/models/special_model_name.py
168173
petstore_api/models/special_name.py
169174
petstore_api/models/tag.py
175+
petstore_api/models/tiger.py
170176
petstore_api/models/user.py
171177
petstore_api/models/with_nested_one_of.py
172178
petstore_api/py.typed

samples/openapi3/client/petstore/python-aiohttp/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ Class | Method | HTTP request | Description
150150
- [ClassModel](docs/ClassModel.md)
151151
- [Client](docs/Client.md)
152152
- [Color](docs/Color.md)
153+
- [Creature](docs/Creature.md)
154+
- [CreatureInfo](docs/CreatureInfo.md)
153155
- [DanishPig](docs/DanishPig.md)
154156
- [DeprecatedObject](docs/DeprecatedObject.md)
155157
- [Dog](docs/Dog.md)
@@ -202,6 +204,7 @@ Class | Method | HTTP request | Description
202204
- [SpecialModelName](docs/SpecialModelName.md)
203205
- [SpecialName](docs/SpecialName.md)
204206
- [Tag](docs/Tag.md)
207+
- [Tiger](docs/Tiger.md)
205208
- [User](docs/User.md)
206209
- [WithNestedOneOf](docs/WithNestedOneOf.md)
207210

samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
from petstore_api.models.class_model import ClassModel
5757
from petstore_api.models.client import Client
5858
from petstore_api.models.color import Color
59+
from petstore_api.models.creature import Creature
60+
from petstore_api.models.creature_info import CreatureInfo
5961
from petstore_api.models.danish_pig import DanishPig
6062
from petstore_api.models.deprecated_object import DeprecatedObject
6163
from petstore_api.models.dog import Dog
@@ -108,5 +110,6 @@
108110
from petstore_api.models.special_model_name import SpecialModelName
109111
from petstore_api.models.special_name import SpecialName
110112
from petstore_api.models.tag import Tag
113+
from petstore_api.models.tiger import Tiger
111114
from petstore_api.models.user import User
112115
from petstore_api.models.with_nested_one_of import WithNestedOneOf

samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
from petstore_api.models.class_model import ClassModel
3333
from petstore_api.models.client import Client
3434
from petstore_api.models.color import Color
35+
from petstore_api.models.creature import Creature
36+
from petstore_api.models.creature_info import CreatureInfo
3537
from petstore_api.models.danish_pig import DanishPig
3638
from petstore_api.models.deprecated_object import DeprecatedObject
3739
from petstore_api.models.dog import Dog
@@ -84,5 +86,6 @@
8486
from petstore_api.models.special_model_name import SpecialModelName
8587
from petstore_api.models.special_name import SpecialName
8688
from petstore_api.models.tag import Tag
89+
from petstore_api.models.tiger import Tiger
8790
from petstore_api.models.user import User
8891
from petstore_api.models.with_nested_one_of import WithNestedOneOf

samples/openapi3/client/petstore/python/.openapi-generator/FILES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ docs/CircularReferenceModel.md
2222
docs/ClassModel.md
2323
docs/Client.md
2424
docs/Color.md
25+
docs/Creature.md
26+
docs/CreatureInfo.md
2527
docs/DanishPig.md
2628
docs/DefaultApi.md
2729
docs/DeprecatedObject.md
@@ -79,6 +81,7 @@ docs/SpecialModelName.md
7981
docs/SpecialName.md
8082
docs/StoreApi.md
8183
docs/Tag.md
84+
docs/Tiger.md
8285
docs/User.md
8386
docs/UserApi.md
8487
docs/WithNestedOneOf.md
@@ -115,6 +118,8 @@ petstore_api/models/circular_reference_model.py
115118
petstore_api/models/class_model.py
116119
petstore_api/models/client.py
117120
petstore_api/models/color.py
121+
petstore_api/models/creature.py
122+
petstore_api/models/creature_info.py
118123
petstore_api/models/danish_pig.py
119124
petstore_api/models/deprecated_object.py
120125
petstore_api/models/dog.py
@@ -167,6 +172,7 @@ petstore_api/models/special_character_enum.py
167172
petstore_api/models/special_model_name.py
168173
petstore_api/models/special_name.py
169174
petstore_api/models/tag.py
175+
petstore_api/models/tiger.py
170176
petstore_api/models/user.py
171177
petstore_api/models/with_nested_one_of.py
172178
petstore_api/py.typed

samples/openapi3/client/petstore/python/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ Class | Method | HTTP request | Description
150150
- [ClassModel](docs/ClassModel.md)
151151
- [Client](docs/Client.md)
152152
- [Color](docs/Color.md)
153+
- [Creature](docs/Creature.md)
154+
- [CreatureInfo](docs/CreatureInfo.md)
153155
- [DanishPig](docs/DanishPig.md)
154156
- [DeprecatedObject](docs/DeprecatedObject.md)
155157
- [Dog](docs/Dog.md)
@@ -202,6 +204,7 @@ Class | Method | HTTP request | Description
202204
- [SpecialModelName](docs/SpecialModelName.md)
203205
- [SpecialName](docs/SpecialName.md)
204206
- [Tag](docs/Tag.md)
207+
- [Tiger](docs/Tiger.md)
205208
- [User](docs/User.md)
206209
- [WithNestedOneOf](docs/WithNestedOneOf.md)
207210

samples/openapi3/client/petstore/python/petstore_api/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
from petstore_api.models.class_model import ClassModel
5757
from petstore_api.models.client import Client
5858
from petstore_api.models.color import Color
59+
from petstore_api.models.creature import Creature
60+
from petstore_api.models.creature_info import CreatureInfo
5961
from petstore_api.models.danish_pig import DanishPig
6062
from petstore_api.models.deprecated_object import DeprecatedObject
6163
from petstore_api.models.dog import Dog
@@ -108,5 +110,6 @@
108110
from petstore_api.models.special_model_name import SpecialModelName
109111
from petstore_api.models.special_name import SpecialName
110112
from petstore_api.models.tag import Tag
113+
from petstore_api.models.tiger import Tiger
111114
from petstore_api.models.user import User
112115
from petstore_api.models.with_nested_one_of import WithNestedOneOf

samples/openapi3/client/petstore/python/petstore_api/models/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
from petstore_api.models.class_model import ClassModel
3333
from petstore_api.models.client import Client
3434
from petstore_api.models.color import Color
35+
from petstore_api.models.creature import Creature
36+
from petstore_api.models.creature_info import CreatureInfo
3537
from petstore_api.models.danish_pig import DanishPig
3638
from petstore_api.models.deprecated_object import DeprecatedObject
3739
from petstore_api.models.dog import Dog
@@ -84,5 +86,6 @@
8486
from petstore_api.models.special_model_name import SpecialModelName
8587
from petstore_api.models.special_name import SpecialName
8688
from petstore_api.models.tag import Tag
89+
from petstore_api.models.tiger import Tiger
8790
from petstore_api.models.user import User
8891
from petstore_api.models.with_nested_one_of import WithNestedOneOf

samples/openapi3/client/petstore/python/tests/test_model.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,3 +513,10 @@ def test_first_ref(self):
513513
a = petstore_api.FirstRef.from_dict({})
514514
self.assertEqual(a.to_json(), "{}")
515515

516+
def test_allof(self):
517+
# for issue 16104
518+
model = petstore_api.Tiger.from_json('{"skill": "none", "type": "tiger", "info": {"name": "creature info"}}')
519+
# shouldn't throw NameError
520+
self.assertEqual(model.to_json(), '{"skill": "none", "type": "tiger", "info": {"name": "creature info"}}')
521+
522+

0 commit comments

Comments
 (0)