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
|
# -*- coding: utf-8 -*-
# @Author : llc
# @Time : 2023/2/5 14:54
from enum import Enum
import pytest
from pydantic import BaseModel, Field
from flask_openapi3 import Info, OpenAPI
app = OpenAPI(__name__, info=Info(title="Enum demo", version="1.0.0"))
app.config["TESTING"] = True
class Language(str, Enum):
cn = "Chinese"
en = "English"
class LanguagePath(BaseModel):
language: Language = Field(..., description="Language")
@app.get("/<language>")
def get_enum(path: LanguagePath):
print(path)
return {}
@pytest.fixture
def client():
client = app.test_client()
return client
def test_openapi(client):
resp = client.get("/openapi/openapi.json")
_json = resp.json
assert resp.status_code == 200
assert _json["components"]["schemas"].get("Language") is not None
resp = client.get("/English")
assert resp.status_code == 200
|