diff options
author | Bastien Nocera <hadess@hadess.net> | 2022-02-23 18:38:00 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2022-02-24 21:41:59 +0100 |
commit | 942dda2db1fa7b266c9cd08005bae7e84d8aae94 (patch) | |
tree | 9d521a692df4d5a3409a89724e81aa4a6a1c1a55 | |
parent | 80daa7ad3846d41faf40b8ad6960bc58cb56315c (diff) | |
download | gnome-bluetooth-942dda2db1fa7b266c9cd08005bae7e84d8aae94.tar.gz |
tests: Add test for device removal coalescing/quieting
-rwxr-xr-x | tests/integration-test.py | 34 |
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() |