- F11 PopulateRule field_name/collection_name corrections - F12 service adaptor update handles PopulatingRepository - F13 nested-references section; F14 authless /users/me guidance - F15 template ruff-clean; F16 stop vendoring .ruff_cache, ship .gitignore - document --template-style in build_recipe/spec_first_routing; refresh collected openapi-first + standards bundle (12 modules, 43 components) - add trial.md and trial_findings.md (F1-F16, re-trial A/B evidence)
21 lines
631 B
Python
21 lines
631 B
Python
import importlib
|
|
|
|
from openapi_first.app import OpenAPIFirstApp
|
|
|
|
import interfaces.openapi as routes_module
|
|
|
|
|
|
def test_openapi_app_builds():
|
|
"""The spec-first app must build and plant each route handler."""
|
|
module = importlib.import_module(routes_module.__name__)
|
|
for operation in ("create_item", "get_item", "list_items", "delete_item",
|
|
"create_job", "get_job", "list_jobs"):
|
|
assert hasattr(module, operation)
|
|
|
|
app = OpenAPIFirstApp(
|
|
openapi_path="openapi.yaml",
|
|
routes_module=module,
|
|
title="Item API",
|
|
version="0.1.0",
|
|
)
|
|
assert app is not None |