prop/config
Graham McIntire 82bcaa5a54
Some checks failed
Build and Push / Build and Push Docker Image (push) Has been cancelled
refactor: idiomatic test sandbox setup (manual mode, single reset hook)
Replace the non-idiomatic :auto sandbox mode with :manual, eliminating
the root cause of stale data across test runs. The :auto mode let any
process auto-checkout and commit outside test transactions — Oban in
testing:inline already disables plugins/queues, so :auto was never
needed.

Changes:
- test_helper: Sandbox.mode(Repo, :manual); drop manual app boot (mix
  now starts the app idiomatically), drop --no-start alias, drop
  table-cleanup loop
- DataCase: single reset_test_state/0 consolidates GridCache.clear,
  ScoreCache.clear, score-file wipe, and default HTTP stubs; drop
  the :auto-restore on_exit hack; setup_sandbox now just start_owner
- ConnCase: delegates shared reset to DataCase, removes duplicate
  cache clears and stub installs
- config: pool Ecto.Adapters.SQL.Sandbox (idiomatic canonical form)

Note: GridCache/ScoreCache are globally-registered GenServers, so
the architecturally clean per-test start_supervised! approach
conflicts with async:true (parallel tests can't register the same
name). The centralized clear in reset_test_state is the practical
compromise — one place, documented, single call.
2026-08-04 17:47:49 -05:00
..
config.exs fix: resolve 27 security, architecture, test, and performance audit findings 2026-07-27 18:19:37 -05:00
dev.exs chore: remove all APRS-related code and fix credo issues 2026-08-04 12:12:28 -05:00
prod.exs Configure outbound SMTP email via Swoosh with TLS 2026-04-02 13:08:50 -05:00
runtime.exs chore: remove all APRS-related code and fix credo issues 2026-08-04 12:12:28 -05:00
test.exs refactor: idiomatic test sandbox setup (manual mode, single reset hook) 2026-08-04 17:47:49 -05:00