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"
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
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="*****@*****.**",
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",
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"), }, )
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")}, ) }, )