summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-23 18:38:00 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-24 21:41:59 +0100
commit942dda2db1fa7b266c9cd08005bae7e84d8aae94 (patch)
tree9d521a692df4d5a3409a89724e81aa4a6a1c1a55
parent80daa7ad3846d41faf40b8ad6960bc58cb56315c (diff)
downloadgnome-bluetooth-942dda2db1fa7b266c9cd08005bae7e84d8aae94.tar.gz
tests: Add test for device removal coalescing/quieting
-rwxr-xr-xtests/integration-test.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/integration-test.py b/tests/integration-test.py
index 2ca05e53..ef57c879 100755
--- a/tests/integration-test.py
+++ b/tests/integration-test.py
@@ -437,6 +437,28 @@ class OopTests(dbusmock.DBusTestCase):
self.assertEqual(device.props.connectable, False)
+ def test_adapter_removal(self):
+ bus = dbus.SystemBus()
+ bluez_server = bus.get_object('org.bluez', '/org/bluez')
+ dbusmock_bluez = dbus.Interface(bluez_server, 'org.bluez.Mock')
+
+ client = GnomeBluetoothPriv.Client.new()
+ list_store = client.get_devices()
+ self.wait_for_condition(lambda: list_store.get_n_items() == 1)
+ self.assertEqual(list_store.get_n_items(), 1)
+
+ num_devices = 1
+ def device_removed_cb(client, path):
+ nonlocal num_devices
+ num_devices -= 1
+ self.client.connect('device-removed', device_removed_cb)
+
+ dbusmock_bluez.RemoveAdapterWithDevices('hci0')
+ # Wait for 5 seconds or until we have the wrong result
+ self.wait_for_condition(lambda: num_devices == 0)
+ self.assertEqual(num_devices, 1)
+
+
class Tests(dbusmock.DBusTestCase):
@classmethod
@@ -618,5 +640,17 @@ class Tests(dbusmock.DBusTestCase):
self.run_test_process()
+ def test_adapter_removal(self):
+ self.dbusmock_bluez.AddAdapter('hci0', 'my-computer')
+ device = self.dbusmock_bluez.AddDevice('hci0', '11:22:33:44:55:66', 'LE Mouse')
+ device_obj = self.dbus_con.get_object('org.bluez', device)
+ device_obj.UpdateProperties('org.bluez.Device1', {
+ 'Connected': True,
+ 'Paired': True
+ })
+
+ self.run_test_process()
+
+
if __name__ == '__main__':
unittest.main()