forked from ash-vd/python-networkmanager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_connection.py
More file actions
63 lines (55 loc) · 2.38 KB
/
test_connection.py
File metadata and controls
63 lines (55 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from test import *
class ConnectionTest(TestCase):
def test_settings(self):
for connection in NetworkManager.Settings.ListConnections():
settings = connection.GetSettings()
self.assertIn(settings['connection']['type'], settings)
secrets = connection.GetSecrets()
for key in settings:
self.assertIn(key, secrets)
if 'ipv4' in settings:
for address, prefix, gateway in settings['ipv4']['addresses']:
self.assertIsIpAddress(address)
self.assertIsIpAddress(gateway)
if 'ipv6' in settings:
for address, prefix, gateway in settings['ipv6']['addresses']:
self.assertIsIpAddress(address)
self.assertIsIpAddress(gateway)
def test_update(self):
active = [x.Connection for x in NetworkManager.NetworkManager.ActiveConnections]
for connection in NetworkManager.Settings.Connections:
if connection in active:
continue
settings = connection.GetSettings()
connection.Update(settings)
# FIXME: this causes assertion failures in n-m, which cause the dbus call to hang
#settings['connection']['timestamp'] -= 1
#connection.UpdateUnsaved(settings)
#self.assertTrue(connection.Unsaved)
#print("Saving")
#connection.Save()
#print("Saved")
#self.assertFalse(connection.Unsaved)
break
def test_secrets(self):
active = [x.Connection for x in NetworkManager.NetworkManager.ActiveConnections]
key = '802-11-wireless-security'
for connection in NetworkManager.Settings.Connections:
if connection in active:
continue
settings = connection.GetSettings()
if key not in settings:
continue
secrets = connection.GetSecrets()
if not secrets[key]:
continue
settings[key].update(secrets[key])
connection.ClearSecrets()
secrets = connection.GetSecrets()
self.assertEqual(secrets[key], {})
connection.Update(settings)
secrets = connection.GetSecrets()
self.assertNotEqual(secrets[key], {})
break
if __name__ == '__main__':
unittest.main()