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:
+1144
-686
File diff suppressed because it is too large
Load Diff
@@ -764,7 +764,7 @@ mod tests {
|
||||
assert!(text.contains("application/json"), "got: {text}");
|
||||
// The 6-endpoint gateway doc with the version from the /publish addition.
|
||||
assert!(text.contains("\"/publish\""), "publish path in doc");
|
||||
assert!(text.contains("1.1.0"), "info.version 1.1.0 in doc");
|
||||
assert!(text.contains("1.2.0"), "info.version 1.2.0 in doc");
|
||||
assert!(text.contains("gatewayPublish"), "publish operationId");
|
||||
|
||||
let _ = server_task.await;
|
||||
|
||||
Reference in New Issue
Block a user