towerops/test
Graham McIntire 997bc46cbf fix: dns and ping checks not executing in production (#71)
## Summary

- **Ping checks never scheduled**: `ensure_default_ping_check` created check records but never called `schedule_check`, so auto-created ping checks never executed
- **Skipped checks permanently orphaned**: `CheckExecutorWorker` only rescheduled checks that actually executed — skipped checks (agent-assigned, SNMP disabled) broke the scheduling chain permanently
- **No recovery mechanism**: `JobHealthCheckWorker` only recovered `DeviceMonitorWorker` jobs, not `CheckExecutorWorker` jobs — any lost check job was gone forever

## Changes

- `monitoring.ex`: Call `schedule_check` after creating ping check in `ensure_default_ping_check`
- `check_executor_worker.ex`: Reschedule skipped-but-enabled checks so conditions are re-evaluated next cycle
- `job_health_check_worker.ex`: Recover orphaned `CheckExecutorWorker` jobs for enabled checks (runs every 10 min)
- `devices.ex`: Wrap `ensure_default_ping_check` in try/rescue for deadlock resilience

## Test plan

- [x] New tests: ping check scheduling on creation, no duplicate scheduling on idempotent call
- [x] Updated tests: skipped checks now assert rescheduling instead of orphaning
- [x] New tests: health check worker recovers orphaned check executor jobs, skips disabled checks
- [x] All 177 targeted tests pass
- [x] Compile clean with warnings-as-errors
- [x] Pre-commit hooks pass (credo, format)

Reviewed-on: graham/towerops-web#71
2026-03-18 08:43:37 -05:00
..
integration routeros fixes and latency rounding 2026-02-09 17:30:06 -06:00
mix/tasks perf(test): optimize slow tests - 68% faster 2026-03-05 14:35:58 -06:00
snmpkit fix: remove timing assertion from MIB stubs test to avoid CI flakiness 2026-03-08 09:35:37 -05:00
support add maintenance windows REST API and GraphQL support 2026-03-11 14:33:25 -05:00
towerops fix: dns and ping checks not executing in production (#71) 2026-03-18 08:43:37 -05:00
towerops_web add auto ICMP ping check for all devices (#68) 2026-03-17 17:55:23 -05:00
test_helper.exs complete overhaul of snmp engine to C nif 2026-01-30 12:27:12 -06:00
towerops_native_test.exs fix: resolve typing violation and ETS cache race in tests 2026-02-14 12:32:43 -06:00