Adding upstream version 0.5.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
303fa6e9d8
commit
97e6d74bac
110 changed files with 12006 additions and 0 deletions
47
tests/test_swagger_openapi_v3.py
Normal file
47
tests/test_swagger_openapi_v3.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
from typing import Dict, Optional
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
from openapi_pydantic.compat import PYDANTIC_V2, ConfigDict
|
||||
from openapi_pydantic.v3.v3_0 import OpenAPI, Operation, PathItem
|
||||
|
||||
|
||||
def test_swagger_openapi_v3() -> None:
|
||||
with open("tests/data/swagger_openapi_v3.0.1.json") as f:
|
||||
if PYDANTIC_V2:
|
||||
validate = getattr(ExtendedOpenAPI, "model_validate_json")
|
||||
else:
|
||||
validate = getattr(ExtendedOpenAPI, "parse_raw")
|
||||
open_api = validate(f.read())
|
||||
assert open_api
|
||||
|
||||
|
||||
class ExtendedOperation(Operation):
|
||||
"""Override classes to use "x-codegen-request-body-name" in Operation"""
|
||||
|
||||
xCodegenRequestBodyName: Optional[str] = Field(
|
||||
default=None, alias="x-codegen-request-body-name"
|
||||
)
|
||||
|
||||
if PYDANTIC_V2:
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
|
||||
else:
|
||||
|
||||
class Config:
|
||||
allow_population_by_field_name = True
|
||||
|
||||
|
||||
class ExtendedPathItem(PathItem):
|
||||
get: Optional[ExtendedOperation] = None
|
||||
put: Optional[ExtendedOperation] = None
|
||||
post: Optional[ExtendedOperation] = None
|
||||
delete: Optional[ExtendedOperation] = None
|
||||
options: Optional[ExtendedOperation] = None
|
||||
head: Optional[ExtendedOperation] = None
|
||||
patch: Optional[ExtendedOperation] = None
|
||||
trace: Optional[ExtendedOperation] = None
|
||||
|
||||
|
||||
class ExtendedOpenAPI(OpenAPI):
|
||||
paths: Dict[str, ExtendedPathItem] # type: ignore[assignment]
|
Loading…
Add table
Add a link
Reference in a new issue