fix(adapters): to_openapi runtime-truthful projection (PRJ-01..05, PRJ-11..15)
- /search, /schema: document the envelope wrapper and the real item/spec fields (PRJ-01/02); /search drops unreachable 401/403, documents 404 (PRJ-15) - error statuses: 422 for dispatch-path INVALID_INPUT / INVALID_OPERATION_TYPE; extractor 400s documented as the plain-text gap they are (PRJ-03); operation-declared errors projected by http_status with x-runtime-behavior: 500 on non-HTTP_* codes (PRJ-04 project-honest decision) — no runtime changes - /subscribe: 200+SSE only; event:error terminal contract documented (PRJ-05, GW-12) - components for requests/responses; CallRequest no longer inlined per-path (PRJ-14); all library expect() paths removed (PRJ-11) - error projections folded into BTreeMaps: same registry => byte-identical doc, sorted enums (PRJ-12) - components.securitySchemes.bearerAuth + top-level security (PRJ-15) - info.version 1.1.0 -> 1.2.0 (ADR-045 minor: additive documentation of the settled runtime contract) - 31 unit tests incl. golden print-level assertions mirroring the routes tests' actual bodies and a determinism test Verification: cargo test (288), clippy --all-targets -D warnings, fmt --check, cargo doc --no-deps, cargo test --all-features (all green in a clean worktree at HEAD; shared tree carries parallel agents' edits).
This commit is contained in:
@@ -265,7 +265,7 @@ async fn full_surface_gateway_over_http() {
|
||||
.unwrap();
|
||||
assert_eq!(resp.status(), 200);
|
||||
let body: serde_json::Value = resp.json().await.unwrap();
|
||||
assert_eq!(body["info"]["version"], "1.1.0");
|
||||
assert_eq!(body["info"]["version"], "1.2.0");
|
||||
assert!(body["paths"].get("/publish").is_some());
|
||||
assert!(body["paths"].get("/call").is_some());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user