linux: Add helper to assert devices and properties

Just to make it a bit nicer to do assertions on devices and properties.
This commit is contained in:
Benjamin Berg 2022-05-16 15:28:03 +02:00
parent ba728ee4eb
commit 76a99a7638

View file

@ -270,6 +270,27 @@ class Tests(dbusmock.DBusTestCase):
Gio.DBusCallFlags.NO_AUTO_START,
-1, None).unpack()[0]
def get_dbus_dev_properties(self, device):
'''Get property values from an upower device D-Bus path.'''
return self.dbus.call_sync(UP, device,
'org.freedesktop.DBus.Properties',
'GetAll', GLib.Variant('(s)', (UP_DEVICE,)),
None,
Gio.DBusCallFlags.NO_AUTO_START,
-1, None).unpack()[0]
def assertDevs(self, expected):
devs = self.proxy.EnumerateDevices()
names = (n.split('/')[-1] for n in devs)
self.assertEqual(sorted(names), sorted(expected.keys()))
for n in names:
props = self.get_dbus_dev_properties(n)
for k, v in expected[n].items():
self.assertEqual(props[k], v, msg=f'Property "{k}" of "{n}" should be {v} but is {props[k]}')
def start_logind(self, parameters=None):
self.logind, self.logind_obj = self.spawn_server_template('logind',
parameters or {},