towerops/lib/towerops_web
Graham McIntire f0f5aca491
Allow empty SNMP community string for device inheritance
Implemented hierarchical SNMP community string inheritance following TDD:

Schema changes:
- Updated Device.changeset to remove required validation for snmp_community
- Community string is now optional when SNMP is enabled
- Allows inheritance from site or organization level

Inheritance hierarchy:
- Device-level community (highest priority)
- Site-level community
- Organization-level community
- nil (no community set at any level)

Form updates:
- extract_snmp_config now resolves inherited community for SNMP testing
- validate_test_snmp_input provides clearer error message about inheritance
- SNMP test uses effective community from hierarchy

Tests:
- Added tests for creating devices with nil/empty community string
- Added comprehensive SNMP configuration inheritance tests
- Tests verify hierarchy: device > site > org > default
- All 28 device tests passing

All 808 tests passing (2 pre-existing alert notifier failures unrelated to this change)
No Credo warnings
2026-01-17 15:54:06 -06:00
..
channels more renames 2026-01-17 15:13:56 -06:00
components rename equipment to device 2026-01-17 14:48:46 -06:00
controllers credo cleanup 2026-01-17 15:00:52 -06:00
helpers Add build timestamp to footer with shared time formatting helpers 2026-01-17 11:10:50 -06:00
live Allow empty SNMP community string for device inheritance 2026-01-17 15:54:06 -06:00
plugs Add comprehensive Dialyzer type specifications 2026-01-17 10:52:02 -06:00
endpoint.ex agent improvements and agent config 2026-01-16 17:26:51 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
router.ex Add agent rename functionality 2026-01-17 15:48:47 -06:00
telemetry.ex Add comprehensive Dialyzer type specifications 2026-01-17 10:52:02 -06:00
user_auth.ex moduledocs 2026-01-17 15:08:49 -06:00