mirror of
https://github.com/smittix/intercept.git
synced 2026-06-16 09:29:45 -07:00
Fix BT Locate startup/map rendering and CelesTrak import reliability
This commit is contained in:
+35
-14
@@ -128,13 +128,21 @@ class TestLocateTarget:
|
||||
device.name = None
|
||||
assert target.matches(device) is True
|
||||
|
||||
def test_match_by_mac_case_insensitive(self):
|
||||
target = LocateTarget(mac_address='aa:bb:cc:dd:ee:ff')
|
||||
device = MagicMock()
|
||||
device.device_id = 'other'
|
||||
device.address = 'AA:BB:CC:DD:EE:FF'
|
||||
device.name = None
|
||||
assert target.matches(device) is True
|
||||
def test_match_by_mac_case_insensitive(self):
|
||||
target = LocateTarget(mac_address='aa:bb:cc:dd:ee:ff')
|
||||
device = MagicMock()
|
||||
device.device_id = 'other'
|
||||
device.address = 'AA:BB:CC:DD:EE:FF'
|
||||
device.name = None
|
||||
assert target.matches(device) is True
|
||||
|
||||
def test_match_by_mac_without_separators(self):
|
||||
target = LocateTarget(mac_address='aabbccddeeff')
|
||||
device = MagicMock()
|
||||
device.device_id = 'other'
|
||||
device.address = 'AA:BB:CC:DD:EE:FF'
|
||||
device.name = None
|
||||
assert target.matches(device) is True
|
||||
|
||||
def test_match_by_name_pattern(self):
|
||||
target = LocateTarget(name_pattern='iPhone')
|
||||
@@ -243,7 +251,7 @@ class TestLocateSession:
|
||||
assert status['detection_count'] == 0
|
||||
|
||||
|
||||
class TestModuleLevelSessionManagement:
|
||||
class TestModuleLevelSessionManagement:
|
||||
"""Test module-level session functions."""
|
||||
|
||||
@patch('utils.bt_locate.get_bluetooth_scanner')
|
||||
@@ -261,9 +269,9 @@ class TestModuleLevelSessionManagement:
|
||||
assert get_locate_session() is None
|
||||
|
||||
@patch('utils.bt_locate.get_bluetooth_scanner')
|
||||
def test_start_replaces_existing_session(self, mock_get_scanner):
|
||||
mock_scanner = MagicMock()
|
||||
mock_get_scanner.return_value = mock_scanner
|
||||
def test_start_replaces_existing_session(self, mock_get_scanner):
|
||||
mock_scanner = MagicMock()
|
||||
mock_get_scanner.return_value = mock_scanner
|
||||
|
||||
target1 = LocateTarget(mac_address='AA:BB:CC:DD:EE:FF')
|
||||
session1 = start_locate_session(target1)
|
||||
@@ -273,6 +281,19 @@ class TestModuleLevelSessionManagement:
|
||||
|
||||
assert get_locate_session() is session2
|
||||
assert session1.active is False
|
||||
assert session2.active is True
|
||||
|
||||
stop_locate_session()
|
||||
assert session2.active is True
|
||||
|
||||
stop_locate_session()
|
||||
|
||||
@patch('utils.bt_locate.get_bluetooth_scanner')
|
||||
def test_start_raises_when_scanner_cannot_start(self, mock_get_scanner):
|
||||
mock_scanner = MagicMock()
|
||||
mock_scanner.is_scanning = False
|
||||
mock_scanner.start_scan.return_value = False
|
||||
status = MagicMock()
|
||||
status.error = 'No adapter'
|
||||
mock_scanner.get_status.return_value = status
|
||||
mock_get_scanner.return_value = mock_scanner
|
||||
|
||||
with pytest.raises(RuntimeError):
|
||||
start_locate_session(LocateTarget(mac_address='AA:BB:CC:DD:EE:FF'))
|
||||
|
||||
Reference in New Issue
Block a user