Warning, file /frameworks/bluez-qt/autotests/obexmanagertest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2014-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 #include "obexmanagertest.h" 0008 #include "autotests.h" 0009 #include "initobexmanagerjob.h" 0010 #include "obexmanager.h" 0011 0012 #include <QTest> 0013 0014 namespace BluezQt 0015 { 0016 extern void bluezqt_initFakeBluezTestRun(); 0017 } 0018 0019 using namespace BluezQt; 0020 0021 void ObexManagerTest::initTestCase() 0022 { 0023 bluezqt_initFakeBluezTestRun(); 0024 FakeBluez::start(); // to check that it works 0025 } 0026 0027 void ObexManagerTest::cleanup() 0028 { 0029 FakeBluez::stop(); 0030 } 0031 0032 void ObexManagerTest::obexNotRunningTest() 0033 { 0034 // org.bluez.obex is not running at all 0035 // expected: init successful 0036 ObexManager *manager = new ObexManager; 0037 InitObexManagerJob *job = manager->init(); 0038 job->exec(); 0039 0040 QVERIFY(!job->error()); 0041 QVERIFY(manager->isInitialized()); 0042 QVERIFY(!manager->isOperational()); 0043 0044 delete manager; 0045 } 0046 0047 void ObexManagerTest::obexNotExportingInterfacesTest() 0048 { 0049 // org.bluez.obex is running, but it does not export any interfaces 0050 // expected: init error 0051 FakeBluez::start(); 0052 FakeBluez::runTest(QStringLiteral("obex-not-exporting-interfaces")); 0053 0054 ObexManager *manager = new ObexManager; 0055 InitObexManagerJob *job = manager->init(); 0056 job->exec(); 0057 0058 QVERIFY(job->error()); 0059 QVERIFY(!manager->isInitialized()); 0060 QVERIFY(!manager->isOperational()); 0061 0062 delete manager; 0063 } 0064 0065 void ObexManagerTest::obexEmptyManagedObjectsTest() 0066 { 0067 // org.bluez.obex exports ObjectManager, but there is no AgentManager1 nor Client1 0068 // expected: init error 0069 FakeBluez::start(); 0070 FakeBluez::runTest(QStringLiteral("obex-empty-managed-objects")); 0071 0072 ObexManager *manager = new ObexManager; 0073 InitObexManagerJob *job = manager->init(); 0074 job->exec(); 0075 0076 QVERIFY(job->error()); 0077 QVERIFY(!manager->isInitialized()); 0078 QVERIFY(!manager->isOperational()); 0079 0080 delete manager; 0081 } 0082 0083 void ObexManagerTest::obexNoClientTest() 0084 { 0085 // org.bluez.obex exports ObjectManager and AgentManager1, but there is no Client1 0086 // expected: init error 0087 FakeBluez::start(); 0088 FakeBluez::runTest(QStringLiteral("obex-no-client")); 0089 0090 ObexManager *manager = new ObexManager; 0091 InitObexManagerJob *job = manager->init(); 0092 job->exec(); 0093 0094 QVERIFY(job->error()); 0095 QVERIFY(!manager->isInitialized()); 0096 QVERIFY(!manager->isOperational()); 0097 0098 delete manager; 0099 } 0100 0101 void ObexManagerTest::obexNoAgentManagerTest() 0102 { 0103 // org.bluez.obex exports ObjectManager and Client1, but there is no AgentManager1 0104 // expected: init error 0105 FakeBluez::start(); 0106 FakeBluez::runTest(QStringLiteral("obex-no-agentmanager")); 0107 0108 ObexManager *manager = new ObexManager; 0109 InitObexManagerJob *job = manager->init(); 0110 job->exec(); 0111 0112 QVERIFY(job->error()); 0113 QVERIFY(!manager->isInitialized()); 0114 QVERIFY(!manager->isOperational()); 0115 0116 delete manager; 0117 } 0118 0119 void ObexManagerTest::obexServiceOkTest() 0120 { 0121 // org.bluez.obex is running and exports all used interfaces 0122 // expected: init successful 0123 FakeBluez::start(); 0124 FakeBluez::runTest(QStringLiteral("obex-standard")); 0125 0126 ObexManager *manager = new ObexManager; 0127 InitObexManagerJob *job = manager->init(); 0128 job->exec(); 0129 0130 QVERIFY(!job->error()); 0131 QVERIFY(manager->isInitialized()); 0132 QVERIFY(manager->isOperational()); 0133 0134 delete manager; 0135 } 0136 0137 QTEST_MAIN(ObexManagerTest)