Skip to content

Commit ac61bda

Browse files
committed
openapi_schema_pydantic / allow extra values
1 parent b0dd28a commit ac61bda

27 files changed

+28
-30
lines changed

openapi_python_client/schema/openapi_schema_pydantic/components.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class Components(BaseModel):
4949
"""An object to hold reusable [Callback Objects](#callbackObject)."""
5050

5151
class Config:
52-
extra = Extra.forbid
52+
extra = Extra.allow
5353
schema_extra = {
5454
"examples": [
5555
{

openapi_python_client/schema/openapi_schema_pydantic/contact.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class Contact(BaseModel):
2626
"""
2727

2828
class Config:
29-
extra = Extra.forbid
29+
extra = Extra.allow
3030
schema_extra = {
3131
"examples": [
3232
{"name": "API Support", "url": "http://www.example.com/support", "email": "[email protected]"}

openapi_python_client/schema/openapi_schema_pydantic/discriminator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Discriminator(BaseModel):
2525
"""
2626

2727
class Config:
28-
extra = Extra.forbid
28+
extra = Extra.allow
2929
schema_extra = {
3030
"examples": [
3131
{

openapi_python_client/schema/openapi_schema_pydantic/encoding.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class Encoding(BaseModel):
6060
"""
6161

6262
class Config:
63-
extra = Extra.forbid
63+
extra = Extra.allow
6464
schema_extra = {
6565
"examples": [
6666
{

openapi_python_client/schema/openapi_schema_pydantic/example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class Example(BaseModel):
3333
"""
3434

3535
class Config:
36-
extra = Extra.forbid
36+
extra = Extra.allow
3737
schema_extra = {
3838
"examples": [
3939
{"summary": "A foo example", "value": {"foo": "bar"}},

openapi_python_client/schema/openapi_schema_pydantic/external_documentation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ class ExternalDocumentation(BaseModel):
1919
"""
2020

2121
class Config:
22-
extra = Extra.forbid
22+
extra = Extra.allow
2323
schema_extra = {"examples": [{"description": "Find more info here", "url": "https://example.com"}]}

openapi_python_client/schema/openapi_schema_pydantic/header.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Header(Parameter):
1818
param_in = Field(default=ParameterLocation.HEADER, const=True, alias="in")
1919

2020
class Config:
21-
extra = Extra.forbid
21+
extra = Extra.allow
2222
allow_population_by_field_name = True
2323
schema_extra = {
2424
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/info.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class Info(BaseModel):
4747
"""
4848

4949
class Config:
50-
extra = Extra.forbid
50+
extra = Extra.allow
5151
schema_extra = {
5252
"examples": [
5353
{

openapi_python_client/schema/openapi_schema_pydantic/license.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ class License(BaseModel):
2020
"""
2121

2222
class Config:
23-
extra = Extra.forbid
23+
extra = Extra.allow
2424
schema_extra = {"examples": [{"name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html"}]}

openapi_python_client/schema/openapi_schema_pydantic/link.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class Link(BaseModel):
6363
"""
6464

6565
class Config:
66-
extra = Extra.forbid
66+
extra = Extra.allow
6767
schema_extra = {
6868
"examples": [
6969
{"operationId": "getUserAddressByUUID", "parameters": {"userUuid": "$response.body#/uuid"}},

openapi_python_client/schema/openapi_schema_pydantic/media_type.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class MediaType(BaseModel):
4949
"""
5050

5151
class Config:
52-
extra = Extra.forbid
52+
extra = Extra.allow
5353
allow_population_by_field_name = True
5454
schema_extra = {
5555
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/oauth_flow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class OAuthFlow(BaseModel):
3535
"""
3636

3737
class Config:
38-
extra = Extra.forbid
38+
extra = Extra.allow
3939
schema_extra = {
4040
"examples": [
4141
{

openapi_python_client/schema/openapi_schema_pydantic/oauth_flows.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ class OAuthFlows(BaseModel):
3535
"""
3636

3737
class Config:
38-
extra = Extra.forbid
38+
extra = Extra.allow

openapi_python_client/schema/openapi_schema_pydantic/open_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,4 @@ class OpenAPI(BaseModel):
6060
"""
6161

6262
class Config:
63-
extra = Extra.forbid
63+
extra = Extra.allow

openapi_python_client/schema/openapi_schema_pydantic/operation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class Operation(BaseModel):
104104
"""
105105

106106
class Config:
107-
extra = Extra.forbid
107+
extra = Extra.allow
108108
schema_extra = {
109109
"examples": [
110110
{

openapi_python_client/schema/openapi_schema_pydantic/parameter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class Parameter(BaseModel):
142142
"""
143143

144144
class Config:
145-
extra = Extra.forbid
145+
extra = Extra.allow
146146
allow_population_by_field_name = True
147147
schema_extra = {
148148
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/path_item.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class PathItem(BaseModel):
9292
"""
9393

9494
class Config:
95-
extra = Extra.forbid
95+
extra = Extra.allow
9696
allow_population_by_field_name = True
9797
schema_extra = {
9898
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/reference.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Reference(BaseModel):
1616
"""**REQUIRED**. The reference string."""
1717

1818
class Config:
19-
extra = Extra.forbid
19+
extra = Extra.allow
2020
allow_population_by_field_name = True
2121
schema_extra = {
2222
"examples": [{"$ref": "#/components/schemas/Pet"}, {"$ref": "Pet.json"}, {"$ref": "definitions.json#/Pet"}]

openapi_python_client/schema/openapi_schema_pydantic/request_body.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class RequestBody(BaseModel):
3131
"""
3232

3333
class Config:
34-
extra = Extra.forbid
34+
extra = Extra.allow
3535
schema_extra = {
3636
"examples": [
3737
{

openapi_python_client/schema/openapi_schema_pydantic/response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class Response(BaseModel):
4444
"""
4545

4646
class Config:
47-
extra = Extra.forbid
47+
extra = Extra.allow
4848
schema_extra = {
4949
"examples": [
5050
{

openapi_python_client/schema/openapi_schema_pydantic/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ class Schema(BaseModel):
472472
"""
473473

474474
class Config:
475-
extra = Extra.forbid
475+
extra = Extra.allow
476476
allow_population_by_field_name = True
477477
schema_extra = {
478478
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/security_scheme.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class SecurityScheme(BaseModel):
6666
"""
6767

6868
class Config:
69-
extra = Extra.forbid
69+
extra = Extra.allow
7070
allow_population_by_field_name = True
7171
schema_extra = {
7272
"examples": [

openapi_python_client/schema/openapi_schema_pydantic/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Server(BaseModel):
3131
"""
3232

3333
class Config:
34-
extra = Extra.forbid
34+
extra = Extra.allow
3535
schema_extra = {
3636
"examples": [
3737
{"url": "https://development.gigantic-server.com/v1", "description": "Development server"},

openapi_python_client/schema/openapi_schema_pydantic/server_variable.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ class ServerVariable(BaseModel):
2828
"""
2929

3030
class Config:
31-
extra = Extra.forbid
31+
extra = Extra.allow

openapi_python_client/schema/openapi_schema_pydantic/tag.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ class Tag(BaseModel):
2828
"""
2929

3030
class Config:
31-
extra = Extra.forbid
31+
extra = Extra.allow
3232
schema_extra = {"examples": [{"name": "pet", "description": "Pets operations"}]}

openapi_python_client/schema/openapi_schema_pydantic/xml.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class XML(BaseModel):
4848
"""
4949

5050
class Config:
51-
extra = Extra.forbid
51+
extra = Extra.allow
5252
schema_extra = {
5353
"examples": [
5454
{"namespace": "http://example.com/schema/sample", "prefix": "sample"},

tests/test_parser/test_openapi.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,13 @@ def test_swagger_document_invalid_schema(self, mocker):
9292
header="Failed to parse OpenAPI document",
9393
detail=(
9494
"You may be trying to use a Swagger document; this is not supported by this project.\n\n"
95-
"4 validation errors for OpenAPI\n"
95+
"3 validation errors for OpenAPI\n"
9696
"info\n"
9797
" field required (type=value_error.missing)\n"
9898
"paths\n"
9999
" field required (type=value_error.missing)\n"
100100
"openapi\n"
101-
" field required (type=value_error.missing)\n"
102-
"swagger\n"
103-
" extra fields not permitted (type=value_error.extra)"
101+
" field required (type=value_error.missing)"
104102
),
105103
)
106104
Schemas.build.assert_not_called()

0 commit comments

Comments
 (0)