towerops/lib/towerops/security
Graham McIntire 67d8be6b89 test: in-process Redis fake instead of skipping Redis-backed tests
Replaces the previous :requires_redis skip with a real test double so
the suite stays self-contained — no external Redis service needed in
CI, but the call paths through RedisHealthCheck and FourOhFourTracker
still get exercised end-to-end.

- Towerops.Redix.Fake: GenServer that speaks PING / SADD / SCARD /
  SISMEMBER / SMEMBERS / EXPIRE / DEL / FLUSHDB. start_link refuses
  anything other than localhost:6379 so failure-path tests still fail
  the way they did against real Redix.
- Application supervisor starts the fake under name Towerops.Redix in
  test env (instead of the dummy Agent stub).
- RedisHealthCheck and FourOhFourTracker now route Redix calls through
  Application.get_env(:towerops, :redix_module, Redix). Test config
  points it at the fake.
- Drops the test_helper :requires_redis exclusion and the @moduletag
  on the two test files; FourOhFourTrackerTest setup just resets the
  fake between runs.
2026-05-10 11:32:50 -05:00
..
brute_force.ex dialyzer: fix all unmatched_return warnings (154 → 0) 2026-04-21 10:03:55 -05:00
cloudflare_client.ex Add GeoIP import HTTP tests 2026-03-10 16:02:49 -05:00
four_oh_four_tracker.ex test: in-process Redis fake instead of skipping Redis-backed tests 2026-05-10 11:32:50 -05:00
ip_block.ex Add 404-based brute force protection system 2026-02-10 16:31:48 -06:00
ip_whitelist.ex Add 404-based brute force protection system 2026-02-10 16:31:48 -06:00