forked from ash-vd/python-networkmanager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_networkmanager.py
More file actions
64 lines (57 loc) · 3.27 KB
/
test_networkmanager.py
File metadata and controls
64 lines (57 loc) · 3.27 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
64
from test import *
class NetworkManagerTest(TestCase):
def test_properties(self):
self.assertIsInstance(NetworkManager.NetworkManager.NetworkingEnabled, bool)
self.assertIsInstance(NetworkManager.NetworkManager.Metered, int)
self.assertIsInstance(NetworkManager.NetworkManager.Version, six.string_types)
self.assertIsInstance(NetworkManager.NetworkManager.ActiveConnections, list)
for conn in NetworkManager.NetworkManager.ActiveConnections:
self.assertIsInstance(conn, NetworkManager.ActiveConnection)
self.assertIsInstance(NetworkManager.NetworkManager.Devices, list)
for dev in NetworkManager.NetworkManager.Devices:
self.assertIsInstance(dev, NetworkManager.Device)
self.assertIsInstance(NetworkManager.NetworkManager.PrimaryConnection, NetworkManager.ActiveConnection)
@unittest.skipUnless(have_permission('sleep-wake'), "Not allowed to make networkmanager sleep")
def test_sleep(self):
NetworkManager.NetworkManager.Sleep(True)
self.assertRaisesDBus('AlreadyAsleepOrAwake', NetworkManager.NetworkManager.Sleep, True)
NetworkManager.NetworkManager.Sleep(False)
self.assertRaisesDBus('AlreadyAsleepOrAwake', NetworkManager.NetworkManager.Sleep, False)
self.waitForConnection()
def test_enable(self):
NetworkManager.NetworkManager.Enable(False)
self.assertRaisesDBus('AlreadyEnabledOrDisabled', NetworkManager.NetworkManager.Enable, False)
NetworkManager.NetworkManager.Enable(True)
self.assertRaisesDBus('AlreadyEnabledOrDisabled', NetworkManager.NetworkManager.Enable, True)
self.waitForConnection()
@unittest.skipUnless(os.getuid() == 0, "Must be root to modify logging")
def test_logging(self):
level1, domains = NetworkManager.NetworkManager.GetLogging()
self.assertIn(level1, ['ERR', 'WARN', 'INFO', 'DEBUG', 'TRACE'])
self.assertIn('PLATFORM', domains)
NetworkManager.NetworkManager.SetLogging("KEEP", "PLATFORM:DEBUG")
level2, domains = NetworkManager.NetworkManager.GetLogging()
self.assertEqual(level1, level2)
self.assertIn('PLATFORM:DEBUG', domains)
self.assertIn('CORE', domains)
NetworkManager.NetworkManager.SetLogging("KEEP", "PLATFORM:" + level1)
level2, domains = NetworkManager.NetworkManager.GetLogging()
self.assertIn('PLATFORM', domains)
self.assertNotIn('PLATFORM:DEBUG', domains)
def test_permissions(self):
permissions = NetworkManager.NetworkManager.GetPermissions()
self.assertIsInstance(permissions, dict)
for key in permissions:
self.assertTrue(key.startswith('org.freedesktop.NetworkManager.'))
self.assertIn(permissions[key], ('yes', 'no', 'auth'))
def test_devices(self):
dev1 = NetworkManager.NetworkManager.GetDevices()
dev2 = NetworkManager.NetworkManager.GetAllDevices()
for dev in dev1:
self.assertIsInstance(dev, NetworkManager.Device)
self.assertIsStrictSubclass(dev.__class__, NetworkManager.Device)
self.assertIn(dev, dev2)
dev = NetworkManager.NetworkManager.GetDeviceByIpIface(dev1[0].IpInterface)
self.assertEqual(dev, dev1[0])
if __name__ == '__main__':
unittest.main()