summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pitt <martinpitt@gnome.org>2013-09-04 15:14:20 +0200
committerMartin Pitt <martinpitt@gnome.org>2013-09-06 14:25:31 +0200
commit09d41eb759f980736bcf51c1fb709dbfb44177c1 (patch)
tree8d0d0a33f239854f8a5d0463e929f7069870d1ae
parentfdc62ad245eb76c337cea2abbbeaca7ddf7c60eb (diff)
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
-rwxr-xr-xsrc/linux/integration-test84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/linux/integration-test b/src/linux/integration-test
index e4f63b7..73e9ee8 100755
--- a/src/linux/integration-test
+++ b/src/linux/integration-test
@@ -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
#