示例#1
0
def test_path_items():
    get_op = swagger.GET(
        operation_id="testGetExample",
        description="Get Example",
        tags=["example"],
        parameters=[swagger.QueryParameter(name="p1", description="page")],
        responses=None,
    )
    post_op = swagger.POST(operation_id="testPostExample",
                           description="POST Example",
                           responses=None)
    path_item = swagger.PathItem(parameters=[swagger.PathParameter(name="v1")],
                                 get=get_op,
                                 post=post_op)

    swag = path_item.to_dict()
    assert swag["parameters"][0]["name"] == "v1"
    assert swag["get"]["parameters"][0]["name"] == "p1"
示例#2
0
def test_sample_swagger():
    paths = swagger.Paths()
    item = swagger.PathItem(
        summary="Nonsense Path",
        get=swagger.GET(
            summary="Sample GET request",
            description="Test",
            tags=["sample", "rest"],
            parameters=[
                swagger.QueryParameter(name="search", required=True, description="Search Param")
            ],
            responses={},
        ),
    )

    paths.add("/echo", item)
    api = swagger.OpenApi(info_block, paths)

    swagger_json = api.to_dict()
    assert swagger_json
示例#3
0
文件: mocks.py 项目: kulgan/flaskdoc
import flask

from flaskdoc import swagger

blp = flask.Blueprint("mocks", __name__, url_prefix="/mocks")

simple_get = swagger.GET(
    summary="Simplistic Get",
    tags=["test", "user", "sample"],
    description="Proof of concept",
    parameters=[
        swagger.PathParameter(
            name="id",
            description="root id",
            allow_empty_value=True,
            schema=swagger.Schema(
                type="string",
                format="email",
            ),
        ),
        swagger.QueryParameter(name="age",
                               description="age of user",
                               schema=swagger.Integer()),
    ],
    responses={"200": swagger.ResponseObject(description="Echos whatever")},
)

info = swagger.Info(
    title="Test",
    version="1.2.2",
    contact=swagger.Contact(name="nuke",
                            email="*****@*****.**",
示例#4
0
    extensions={"x-codegen-request-body-name": "body"},
)


find_by_status_spec = swagger.GET(
    tags=["pet"],
    summary="Finds Pets by status",
    description="Multiple status values can be provided with comma separated strings",
    operation_id="findPetsByStatus",
    parameters=[
        swagger.QueryParameter(
            name="status",
            explode=True,
            required=True,
            description="Status values need to be considered for filter",
            schema=[swagger.String(enum=Status._member_names_, default="available")],
        )
    ],
    responses={
        "200": swagger.ResponseObject(
            description="Successful operation",
            content=[swagger.JsonType(schema=[Pet]), swagger.XmlType(schema=[Pet])],
        ),
        "400": swagger.ResponseObject(description="Invalid status value"),
    },
    security=[{"petstore_auth": ["write:pets", "read:pets"]}],
)

find_by_tags_spec = swagger.GET(
    tags=["pet"],
    summary="Finds Pets by tags",
示例#5
0
search_inventory_docs = swagger.GET(
    tags=["developers"],
    operation_id="searchInventory",
    summary="searches inventory",
    description=
    "By passing in the appropriate options, you can search for available inventory in the system",
    parameters=[
        swagger.QueryParameter(
            required=False,
            name="searchString",
            schema=str,
            description=
            "pass an optional search string for looking up inventory",
        ),
        swagger.QueryParameter(
            name="skip",
            schema=int,
            description="number of records to skip for pagination",
        ),
        swagger.QueryParameter(
            name="limit",
            schema=swagger.Integer(maximum=50),
            description="maximum number of records to return",
        ),
    ],
    responses={
        "200":
        swagger.ResponseObject(
            description="search results matching criteria",
            content=swagger.JsonType(schema=[InventoryItem]),
        ),
        "400":
        swagger.ResponseObject(description="bad input parameter"),
    },
)
示例#6
0
文件: specs.py 项目: kulgan/flaskdoc
from flaskdoc import swagger
from flaskdoc.examples.link_example import schemas

get_user_by_name = swagger.GET(
    operation_id="getUserByName",
    parameters=[swagger.PathParameter(name="username", schema=str)],
    responses={
        "200":
        swagger.ResponseObject(
            description="The User",
            content=swagger.JsonType(schema=schemas.User),
            links={
                "userRepositories": swagger.LinkReference("UserRepositories")
            },
        )
    },
)

get_repository_by_owner = swagger.GET(
    operation_id="getRepositoryByOwner",
    parameters=[swagger.PathParameter(name="username", schema=str)],
    responses={
        "200":
        swagger.ResponseObject(
            description="repositories owned by the supplied user",
            content=swagger.JsonType(schema=[schemas.Repository]),
            links={"userRepository": swagger.LinkReference("UserRepository")},
        )
    },
)