Linux integration tests: Add bluetooth mouse and keyboard

These should be detected with their proper type (5/6, not 2) and not count as
powering the system, i. e. their PowerSupply property should be False.

This reproduces https://launchpad.net/bugs/1153488
This commit is contained in:
Martin Pitt 2013-09-04 15:14:20 +02:00
parent fdc62ad245
commit 09d41eb759

View file

@ -574,6 +574,90 @@ class Tests(unittest.TestCase):
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 1.5)
self.stop_daemon()
def test_bluetooth_mouse(self):
'''bluetooth mouse battery'''
btdev = self.testbed.add_device('bluetooth',
'usb1/bluetooth/hci0/hci0:01',
None,
[], [])
mouseinp = self.testbed.add_device(
'input',
'usb1/bluetooth/hci0/hci0:01/input2/mouse3',
None,
[], ['DEVNAME', 'input/mouse3', 'ID_INPUT_MOUSE', '1'])
mousebat0 = self.testbed.add_device(
'power_supply',
'usb1/bluetooth/hci0/hci0:01/power_supply/hid-00:11:22:33:44:55-battery',
None,
['type', 'Battery',
'scope', 'Device',
'present', '1',
'online', '1',
'status', 'Discharging',
'capacity', '30',
'model_name', 'Fancy BT mouse',
],
[])
self.start_daemon()
devs = self.proxy.EnumerateDevices()
self.assertEqual(len(devs), 1)
mousebat0_up = devs[0]
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Fancy BT mouse')
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 30)
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False)
# 5 == mouse
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5)
self.assertEqual(self.get_dbus_property('OnBattery'), False)
self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
self.stop_daemon()
def test_bluetooth_keyboard(self):
'''bluetooth keyboard battery'''
btdev = self.testbed.add_device('bluetooth',
'usb2/bluetooth/hci0/hci0:1',
None,
[], [])
kbdinp = self.testbed.add_device(
'input',
'usb2/bluetooth/hci0/hci0:1/input3/event4',
None,
[], ['DEVNAME', 'input/event4', 'ID_INPUT_KEYBOARD', '1'])
kbbat0 = self.testbed.add_device(
'power_supply',
'usb2/bluetooth/hci0/hci0:1/power_supply/hid-00:22:33:44:55:66-battery',
None,
['type', 'Battery',
'scope', 'Device',
'present', '1',
'online', '1',
'status', 'Discharging',
'capacity', '40',
'model_name', 'Monster Typist',
],
[])
self.start_daemon()
devs = self.proxy.EnumerateDevices()
self.assertEqual(len(devs), 1)
kbdbat0_up = devs[0]
self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Model'), 'Monster Typist')
self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Percentage'), 40)
self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'PowerSupply'), False)
# 6 == keyboard
self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Type'), 6)
self.assertEqual(self.get_dbus_property('OnBattery'), False)
self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
self.stop_daemon()
#
# Helper methods
#