def testOpenApiNestedSchemaInvalidData(self):
     data = [{"age": 50, "firstName": 100, "lastName": "test"}]
     schema = resolve_schema_refs(deepcopy(self.valid_schema))
     with self.assertRaises(HTTPException):
         openapi_validate(data=data, component='UsersList', schema=schema)
 def testOpenApiNestedSchemaValidData(self):
     data = [{"age": 50, "firstName": "test", "lastName": "test"}]
     schema = resolve_schema_refs(deepcopy(self.valid_schema))
     openapi_validate(data=data, component='UsersList', schema=schema)
 def testOpenApiSchemaValidDataMinimumProperties(self):
     data = {"firstName": "test"}
     schema = resolve_schema_refs(deepcopy(self.valid_schema))
     openapi_validate(data=data, component='User', schema=schema)
 def testOpenApiSchemaMissingRequiredProperties(self):
     data = {"age": 50, "lastName": "test"}
     schema = resolve_schema_refs(deepcopy(self.valid_schema))
     with self.assertRaises(HTTPException):
         openapi_validate(data=data, component='User', schema=schema)
Example #5
0
"""Example Flask app with Flasgger"""

from flask import Flask, request
from flasgger import Swagger
import logging
from api_utils import get_schema, api_response, openapi_validate, resolve_schema_refs


logger = logging.getLogger()
logger.setLevel('DEBUG')

app = Flask(__name__)


schema = get_schema()
resolved_schema = resolve_schema_refs(schema)

swagger = Swagger(
    app,
    template=schema
)

# Mock user database
all_users = {
        '1': {"firstName": "Fake Name", "lastName": "surname", "age": 5},
        '2': {"firstName": "Test Name", "lastName": "last name", "age": 1000}
    }


@app.route('/users/<user_id>/', methods=["GET"])
def get_user(user_id):