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 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):