ble-reticulum/tests
torlando-tech 37ef835ae9 test: add comprehensive tests for peer_address MAC rotation fix
Add test suite to verify that BLEPeerInterface.peer_address is properly
updated when BLE MAC address rotation occurs. Tests cover all 4 code paths:

- _address_changed_callback: primary path for address migration
- _mtu_negotiated_callback: when interface exists for identity at new address
- _handle_identity_handshake: when identity arrives at new address
- _spawn_peer_interface: when reusing interface for new address

Also includes tests for:
- Proper logging of address updates for debugging
- Consistency between peer_address and address_to_interface mapping
- Multiple consecutive MAC rotations

These tests prevent regression of the bidirectional BLE communication bug
where peripheral->central sends failed after MAC rotation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 16:51:02 -05:00
..
conftest.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
mock_ble_driver.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_ble_peer_interface.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_bleak_threading_hang.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_bleak_with_exec_loading.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_bluez_state_cleanup.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_breddr_fallback_prevention.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_config_directory.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_dbus_disconnect_monitoring.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_error_recovery.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_fragmentation.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_gatt_server.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_gatt_server_readiness.py fix(ble): Add D-Bus verification to prevent GATT server initialization race 2025-11-10 19:51:23 -05:00
test_hci_error_fixes.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_identity_cache.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_identity_hash.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_identity_mapping_cleanup.py fix: Clean up identity mappings on disconnect to prevent stale connections 2025-11-13 15:37:54 -05:00
test_installer.sh refactor: make libffi-dev conditional for armhf (32-bit ARM) only 2025-10-29 11:02:51 -04:00
test_integration.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_interface_cleanup.py test: add comprehensive tests for interface cleanup methods 2026-01-01 19:32:17 -05:00
test_multi_device_simulation.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_peer_address_mac_rotation.py test: add comprehensive tests for peer_address MAC rotation fix 2026-01-13 16:51:02 -05:00
test_peripheral_disconnect_cleanup.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_prioritization.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_scanner_connection_coordination.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_stale_connection_polling.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_v2_2_identity_handshake.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_v2_2_mac_sorting.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_v2_2_race_conditions.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00