Release Vulpes OS 2.7-preview.24
This commit is contained in:
parent
49572b6b45
commit
97ef99f827
135 changed files with 7717 additions and 2524 deletions
|
|
@ -38,6 +38,40 @@ class WifiTests(unittest.TestCase):
|
|||
self.assertEqual(wifi.connection_info(),{})
|
||||
run.assert_not_called()
|
||||
|
||||
def test_status_reports_live_disconnection_instead_of_stale_connected_state(self):
|
||||
def nm(*args, **kwargs):
|
||||
if args[:2] == ('radio', 'wifi'):
|
||||
return SimpleNamespace(returncode=0, stdout='enabled\n')
|
||||
if args[:2] == ('-g', 'GENERAL.STATE'):
|
||||
return SimpleNamespace(returncode=0, stdout='30 (disconnected)\n')
|
||||
raise AssertionError(args)
|
||||
with tempfile.TemporaryDirectory() as folder, patch.object(wifi, 'nm', side_effect=nm):
|
||||
result = wifi.dispatch({'operation':'status'}, Path(folder))
|
||||
self.assertEqual(result['state'], 'disconnected')
|
||||
self.assertIsNone(result['network'])
|
||||
|
||||
def test_status_recovers_active_saved_network_even_if_scan_has_no_ap_row(self):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
profile_dir = Path(folder)
|
||||
uid = 'd31f8c9d-a1f9-4df1-876a-491fe814cf2a'
|
||||
profile_dir.mkdir(exist_ok=True)
|
||||
(profile_dir / ('vulpes-' + uid + '.nmconnection')).write_text(
|
||||
wifi.profile_text(AP, 'testpassword', uid))
|
||||
def nm(*args, **kwargs):
|
||||
if args[:2] == ('radio', 'wifi'):
|
||||
return SimpleNamespace(returncode=0, stdout='enabled\n')
|
||||
if args[:2] == ('-g', 'GENERAL.STATE'):
|
||||
return SimpleNamespace(returncode=0, stdout='100 (connected)\n')
|
||||
if args[:2] == ('-g', 'GENERAL.CON-UUID'):
|
||||
return SimpleNamespace(returncode=0, stdout=uid+'\n')
|
||||
raise AssertionError(args)
|
||||
with patch.object(wifi, 'nm', side_effect=nm), \
|
||||
patch.object(wifi, 'connection_info', return_value={'ipAddress':'192.0.2.2'}):
|
||||
result = wifi.dispatch({'operation':'status'}, profile_dir)
|
||||
self.assertEqual(result['state'], 'connected')
|
||||
self.assertEqual(result['network']['ssid'], AP['ssid'])
|
||||
self.assertEqual(result['network']['savedId'], uid)
|
||||
|
||||
def test_secret_persists_only_after_success(self):
|
||||
for fail in (False, True):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
|
|
|
|||
Loading…
Reference in a new issue