Build a stub router with the same path registrations as the real server but using trivial `StatusCode::OK` handlers. Used to assert the route table itself.
()
| 344 | /// server but using trivial `StatusCode::OK` handlers. Used to assert |
| 345 | /// the route table itself. |
| 346 | fn stub_router() -> Router { |
| 347 | async fn ok() -> StatusCode { |
| 348 | StatusCode::OK |
| 349 | } |
| 350 | |
| 351 | Router::new() |
| 352 | // Probe routes (unversioned). |
| 353 | .route("/healthz", get(ok)) |
| 354 | .route("/health/live", get(ok)) |
| 355 | .route("/health/ready", get(ok)) |
| 356 | .route("/health/drain", post(ok)) |
| 357 | .route("/metrics", get(ok)) |
| 358 | // Versioned API routes. |
| 359 | .route("/v1/query", post(ok)) |
| 360 | .route("/v1/query/stream", post(ok)) |
| 361 | .route("/v1/status", get(ok)) |
| 362 | .route("/v1/cluster/status", get(ok)) |
| 363 | .route("/v1/cluster/debug/raft/{group_id}", get(ok)) |
| 364 | .route("/v1/cluster/debug/transport", get(ok)) |
| 365 | .route("/v1/cluster/debug/catalog/descriptors", get(ok)) |
| 366 | .route("/v1/cluster/debug/leases", get(ok)) |
| 367 | .route("/v1/auth/exchange-key", post(ok)) |
| 368 | .route("/v1/auth/session", post(ok).delete(ok)) |
| 369 | .route("/v1/collections/{name}/crdt/apply", post(ok)) |
| 370 | .route("/v1/ws", get(ok)) |
| 371 | .route("/v1/streams/{stream}/poll", get(ok)) |
| 372 | .route("/v1/streams/{stream}/events", get(ok)) |
| 373 | .route("/v1/cdc/{collection}", get(ok)) |
| 374 | .route("/v1/cdc/{collection}/poll", get(ok)) |
| 375 | // PromQL nested under /v1/obsv. |
| 376 | .route("/v1/obsv/api/v1/query", get(ok).post(ok)) |
| 377 | } |
| 378 | |
| 379 | async fn status_for(router: &Router, method: Method, path: &str) -> StatusCode { |
| 380 | let req = Request::builder() |
no test coverage detected