Warning, /frameworks/bluez-qt/autotests/qml/tst_manager.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 import QtTest 1.0
0008 import QtQuick 2.2
0009 import org.kde.bluezqt.fakebluez 1.0
0010 import org.kde.bluezqt 1.0 as BluezQt
0011 
0012 TestCase {
0013     name: "Manager"
0014 
0015     function cleanup()
0016     {
0017         FakeBluez.stop();
0018     }
0019 
0020     function test_bluezNotRunning()
0021     {
0022         var manager = BluezQt.Manager;
0023         tryCompare(manager, "operational", false);
0024 
0025         verify(!manager.operational, "operational");
0026         verify(!manager.bluetoothOperational, "btOperational");
0027     }
0028 
0029     function test_bluezNotExportingInterfaces()
0030     {
0031         FakeBluez.start();
0032         FakeBluez.runTest("bluez-not-exporting-interfaces");
0033 
0034         var manager = BluezQt.Manager;
0035         tryCompare(manager, "operational", false);
0036 
0037         verify(!manager.operational, "operational");
0038         verify(!manager.bluetoothOperational, "btOperational");
0039     }
0040 
0041     function test_bluezNoAdapters()
0042     {
0043         FakeBluez.start();
0044         FakeBluez.runTest("bluez-no-adapters");
0045 
0046         var manager = BluezQt.Manager;
0047         tryCompare(manager, "operational", true);
0048 
0049         verify(manager.operational, "operational");
0050         verify(!manager.bluetoothOperational, "btOperational");
0051     }
0052 
0053     SignalSpy {
0054         id: usableAdapterChangedSpy
0055         signalName: "usableAdapterChanged"
0056     }
0057 
0058     function test_usableAdapter()
0059     {
0060         FakeBluez.start();
0061         FakeBluez.runTest("bluez-standard");
0062 
0063         var adapter1path = "/org/bluez/hci0";
0064         var adapter1props = {
0065             Path: adapter1path,
0066             Address: "1C:E5:C3:BC:94:7E",
0067             Name: "TestAdapter",
0068             Powered: false,
0069             _toDBusObjectPath: [ "Path" ]
0070         }
0071         FakeBluez.runAction("devicemanager", "create-adapter", adapter1props);
0072 
0073         var adapter2path = "/org/bluez/hci1";
0074         var adapter2props = {
0075             Path: adapter2path,
0076             Address: "2E:3A:C3:BC:85:7C",
0077             Name: "TestAdapter2",
0078             Powered: false,
0079             _toDBusObjectPath: [ "Path" ]
0080         }
0081         FakeBluez.runAction("devicemanager", "create-adapter", adapter2props);
0082 
0083 
0084         var manager = BluezQt.Manager;
0085 
0086         tryCompare(manager, "operational", true);
0087         verify(!manager.bluetoothOperational, "btOperational");
0088 
0089         usableAdapterChangedSpy.target = manager;
0090 
0091         var properties = {
0092             Path: adapter1path,
0093             Name: "Powered",
0094             Value: true,
0095             _toDBusObjectPath: [ "Path" ]
0096         }
0097         FakeBluez.runAction("devicemanager", "change-adapter-property", properties);
0098 
0099         tryCompare(usableAdapterChangedSpy, "count", 1);
0100         compare(manager.usableAdapter.ubi, adapter1path);
0101 
0102         usableAdapterChangedSpy.clear();
0103 
0104         properties.Value = false;
0105         FakeBluez.runAction("devicemanager", "change-adapter-property", properties);
0106 
0107         tryCompare(usableAdapterChangedSpy, "count", 1);
0108         compare(manager.usableAdapter, null);
0109 
0110         usableAdapterChangedSpy.clear();
0111 
0112         properties.Path = adapter2path;
0113         properties.Value = true;
0114         FakeBluez.runAction("devicemanager", "change-adapter-property", properties);
0115 
0116         tryCompare(usableAdapterChangedSpy, "count", 1);
0117         compare(manager.usableAdapter.ubi, adapter2path);
0118     }
0119 
0120     SignalSpy {
0121         id: managerAdapterRemovedSpy
0122         signalName: "adapterRemoved"
0123     }
0124 
0125     SignalSpy {
0126         id: managerDeviceRemovedSpy
0127         signalName: "deviceRemoved"
0128     }
0129 
0130     function test_adapterWithDevicesRemoved()
0131     {
0132         FakeBluez.start();
0133         FakeBluez.runTest("bluez-standard");
0134 
0135         var adapter1path = "/org/bluez/hci0";
0136         var adapterProps = {
0137             Path: adapter1path,
0138             Address: "1C:E5:C3:BC:94:7E",
0139             Name: "TestAdapter",
0140             Powered: false,
0141             _toDBusObjectPath: [ "Path" ]
0142         }
0143         FakeBluez.runAction("devicemanager", "create-adapter", adapterProps);
0144 
0145         var device1props = {
0146             Path: "/org/bluez/hci0/dev_40_79_6A_0C_39_75",
0147             Adapter: adapter1path,
0148             Address: "40:79:6A:0C:39:75",
0149             Name: "TestDevice",
0150             _toDBusObjectPath: [ "Path", "Adapter" ]
0151         }
0152         FakeBluez.runAction("devicemanager", "create-device", device1props);
0153 
0154         var device2props = {
0155             Path: "/org/bluez/hci0/dev_50_79_6A_0C_39_75",
0156             Adapter: adapter1path,
0157             Address: "50:79:6A:0C:39:75",
0158             Name: "TestDevice2",
0159             _toDBusObjectPath: [ "Path", "Adapter" ]
0160         }
0161         FakeBluez.runAction("devicemanager", "create-device", device2props);
0162 
0163         var manager = BluezQt.Manager;
0164 
0165         tryCompare(manager, "operational", true);
0166 
0167         var adapter = manager.adapterForAddress("1C:E5:C3:BC:94:7E");
0168         var device1 = manager.deviceForAddress("40:79:6A:0C:39:75");
0169         var device2 = manager.deviceForAddress("50:79:6A:0C:39:75");
0170 
0171         verify(adapter);
0172         verify(device1);
0173         verify(device2);
0174 
0175         managerAdapterRemovedSpy.target = manager;
0176         managerDeviceRemovedSpy.target = manager;
0177 
0178         var properties = {
0179             Path: adapter1path,
0180             _toDBusObjectPath: [ "Path" ]
0181         }
0182         FakeBluez.runAction("devicemanager", "remove-adapter", properties);
0183 
0184         tryCompare(managerAdapterRemovedSpy, "count", 1);
0185         tryCompare(managerDeviceRemovedSpy, "count", 2);
0186         compare(manager.adapters.length, 0);
0187         compare(manager.devices.length, 0);
0188     }
0189 }
0190