File size: 840 Bytes
a38ca42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""Verify OpenAPI documents ValidateRequest for Swagger."""
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

from app import app

schema = app.openapi()
request_schema = (
    schema["paths"]["/api/validate"]["post"]
    .get("requestBody", {})
    .get("content", {})
    .get("application/json", {})
    .get("schema", {})
)

ref = request_schema.get("$ref", "")
assert ref.endswith("/ValidateRequest"), ref

model = schema["components"]["schemas"]["ValidateRequest"]
props = model.get("properties", {})
assert "beta_key" in props, props

examples = props["beta_key"].get("examples") or []
if not examples:
    example = props["beta_key"].get("example")
    assert example == "VTX-BETA-XXXX-XXXX", props["beta_key"]
else:
    assert "VTX-BETA-XXXX-XXXX" in examples, examples

print("OK")