towerops/test
Graham McIntire 2b50fc0732 fix agent check cascade and at-risk subscriber double-counting (#79)
## Summary

- **`list_checks_for_agent` cascade**: the agent query only matched checks with `agent_token_id` set directly on the check record — checks on devices inheriting their agent via site/org/global default were never sent to the Go agent. Now uses left joins with the full cascade (device assignment → site → org default → global default cloud poller), matching the pattern from `list_agent_polling_targets`.
- **At-risk summary double-counting**: `get_impact_summary` called `analyze_device_impact` per down AP, and each returned the full site subscriber count. With 3 APs down at a 147-sub site it showed 441 subs / $31k instead of 147 / $10k. Fixed by deduplicating impact per site. Same fix applied to `calculate_down_impact` in site impact summaries.

## Test plan

- [x] 3 new cascade tests for `list_checks_for_agent` (site, org default, global default)
- [x] 3 new tests for `get_impact_summary` (single site dedup, multi-site sum, zero case)
- [x] All 8,607 existing tests pass
- [ ] Deploy to staging, verify At Risk numbers on dashboard
- [ ] Verify Go agent receives DNS/HTTP checks via cascade

Reviewed-on: graham/towerops-web#79
2026-03-18 20:17:39 -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 agent check cascade and at-risk subscriber double-counting (#79) 2026-03-18 20:17:39 -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