axum-test-transport

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

Choose between in-process `tower::ServiceExt::oneshot` tests and real `tokio::net::TcpListener` server tests for Axum services in this repository.

.agents/skills/axum-test-transport/SKILL.md

Download bundle ↓
main · 143e3d81 bundle fileScanned 2026-09-15

SKILL.md

313 tokens · o200k_base · 1,316 bytes

Source excerpt starting at line 1.
---name: axum-test-transportdescription: Choose between in-process `tower::ServiceExt::oneshot` tests and real `tokio::net::TcpListener` server tests for Axum services in this repository.metadata:  internal: true--- Use this skill when working on Axum tests that currently start a server or could be simplified. Prefer `oneshot` when the test only verifies: - status codes- headers- JSON/body shape- route or middleware behavior- request handling without real network behavior Use: ```rustuse tower::ServiceExt;``` `oneshot` is available through `tower::ServiceExt`. Keep a real `TcpListener` + `axum::serve(...)` when the test needs: - WebSocket upgrade/handshake behavior- real client behavior (`reqwest`, `tokio_tungstenite`, etc.) as the thing under test- transport/lifecycle concerns like bind/listen/shutdown- true end-to-end coverage over `http://` or `ws://` Repository guidance: - `crates/transcribe-cactus/tests/batch.rs` style tests are good `oneshot` candidates- `crates/transcribe-cactus/tests/live.rs` WebSocket tests should stay real-server- if several tests share the same in-process request setup, add a tiny local helper (for example request builder or response JSON parser) After changes: - run `pnpm exec dprint fmt`- run the relevant Rust test compile/check command 
Discovery context

Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.