fabro/lib/crates/fabro-server/tests/it/api
Bryan Helmkamp 54a23707d9
Add event append race regression test (#379)
## Summary

Adds a black-box server API regression test for the per-run event append
race observed as projection cache sequence gaps and non-contiguous event
streams.

The test creates a run through the public API, simulates a server
restart with a fresh AppState over the same backing object store, then
concurrently appends events through `POST /api/v1/runs/{id}/events`. The
expected contract is that all appends succeed and the resulting event
sequence is durable and contiguous.

## Test Plan

- `cargo nextest run -p fabro-server --features test-support --test it
concurrent_event_appends_after_restart_keep_projection_cache_contiguous`

Expected current result: fails RED, demonstrating the existing race.
Example observed failure showed duplicate/missing seqs such as `[1, 2,
3, 3, 4, 4, ...]` instead of a contiguous sequence through 66.
2026-05-23 19:25:41 -04:00
..
auth_sessions.rs chore: simplify 2026-05-20 09:13:51 -04:00
cli_auth_token.rs chore: simplify 2026-05-20 09:13:51 -04:00
docs.rs docs(deployment): split into local vs self-hosted, drop Render/Fly/DO 2026-05-01 09:26:35 -04:00
events.rs Add event append race regression test (#379) 2026-05-23 19:25:41 -04:00
install.rs Replace run-scoped sandbox config with named environments (#360) 2026-05-23 13:03:21 -04:00
install_openai_compatible.rs refactor(llm): split provider identity from adapters (#280) 2026-05-16 13:13:41 -04:00
mod.rs Add event append race regression test (#379) 2026-05-23 19:25:41 -04:00
routing.rs feat(server): expose health check at /api/v1/health (#279) 2026-05-16 08:37:00 -04:00
run_files.rs Replace queued with pending/runnable and add approval flow (web + API s… (#371) 2026-05-23 15:34:33 -04:00
runs.rs Collapsible run stage sidebar (#352) 2026-05-22 12:20:29 -04:00
sandbox_vnc.rs feat(api): unify public run shape 2026-05-10 20:48:55 -04:00
sessions.rs feat(api): add ask fabro session endpoints (#342) 2026-05-21 21:26:15 -04:00
settings.rs Collapsible run stage sidebar (#352) 2026-05-22 12:20:29 -04:00
system.rs Replace queued with pending/runnable and add approval flow (web + API s… (#371) 2026-05-23 15:34:33 -04:00
tcp.rs Replace run-scoped sandbox config with named environments (#360) 2026-05-23 13:03:21 -04:00