1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
# -*- coding: utf-8 -*-
# @Author : llc
# @Time : 2021/5/6 16:38
from __future__ import annotations
import pytest
from pydantic import BaseModel, Field
from flask_openapi3 import Info
from flask_openapi3 import OpenAPI
info = Info(title='book API', version='1.0.0')
jwt = {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
security_schemes = {"jwt": jwt}
class NotFoundResponse(BaseModel):
code: int = Field(-1, description="Status Code")
message: str = Field("Resource not found!", description="Exception Information")
doc_prefix = '/v1/openapi'
app = OpenAPI(
__name__,
info=info,
doc_prefix=doc_prefix,
security_schemes=security_schemes,
responses={"404": NotFoundResponse}
)
app.config["TESTING"] = True
@pytest.fixture
def client():
client = app.test_client()
return client
def test_openapi(client):
resp = client.get(f"{doc_prefix}/openapi.json")
assert resp.status_code == 200
assert resp.json == app.api_doc
|