1 | /* |
---|---|
2 | * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> |
3 | * |
4 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
5 | */ |
6 | |
7 | #include "obexmanagertest.h" |
8 | #include "autotests.h" |
9 | #include "initobexmanagerjob.h" |
10 | #include "obexmanager.h" |
11 | |
12 | #include <QTest> |
13 | |
14 | namespace BluezQt |
15 | { |
16 | extern void bluezqt_initFakeBluezTestRun(); |
17 | } |
18 | |
19 | using namespace BluezQt; |
20 | |
21 | void ObexManagerTest::initTestCase() |
22 | { |
23 | bluezqt_initFakeBluezTestRun(); |
24 | FakeBluez::start(); // to check that it works |
25 | } |
26 | |
27 | void ObexManagerTest::cleanup() |
28 | { |
29 | FakeBluez::stop(); |
30 | } |
31 | |
32 | void ObexManagerTest::obexNotRunningTest() |
33 | { |
34 | // org.bluez.obex is not running at all |
35 | // expected: init successful |
36 | ObexManager *manager = new ObexManager; |
37 | InitObexManagerJob *job = manager->init(); |
38 | job->exec(); |
39 | |
40 | QVERIFY(!job->error()); |
41 | QVERIFY(manager->isInitialized()); |
42 | QVERIFY(!manager->isOperational()); |
43 | |
44 | delete manager; |
45 | } |
46 | |
47 | void ObexManagerTest::obexNotExportingInterfacesTest() |
48 | { |
49 | // org.bluez.obex is running, but it does not export any interfaces |
50 | // expected: init error |
51 | FakeBluez::start(); |
52 | FakeBluez::runTest(QStringLiteral("obex-not-exporting-interfaces")); |
53 | |
54 | ObexManager *manager = new ObexManager; |
55 | InitObexManagerJob *job = manager->init(); |
56 | job->exec(); |
57 | |
58 | QVERIFY(job->error()); |
59 | QVERIFY(!manager->isInitialized()); |
60 | QVERIFY(!manager->isOperational()); |
61 | |
62 | delete manager; |
63 | } |
64 | |
65 | void ObexManagerTest::obexEmptyManagedObjectsTest() |
66 | { |
67 | // org.bluez.obex exports ObjectManager, but there is no AgentManager1 nor Client1 |
68 | // expected: init error |
69 | FakeBluez::start(); |
70 | FakeBluez::runTest(QStringLiteral("obex-empty-managed-objects")); |
71 | |
72 | ObexManager *manager = new ObexManager; |
73 | InitObexManagerJob *job = manager->init(); |
74 | job->exec(); |
75 | |
76 | QVERIFY(job->error()); |
77 | QVERIFY(!manager->isInitialized()); |
78 | QVERIFY(!manager->isOperational()); |
79 | |
80 | delete manager; |
81 | } |
82 | |
83 | void ObexManagerTest::obexNoClientTest() |
84 | { |
85 | // org.bluez.obex exports ObjectManager and AgentManager1, but there is no Client1 |
86 | // expected: init error |
87 | FakeBluez::start(); |
88 | FakeBluez::runTest(QStringLiteral("obex-no-client")); |
89 | |
90 | ObexManager *manager = new ObexManager; |
91 | InitObexManagerJob *job = manager->init(); |
92 | job->exec(); |
93 | |
94 | QVERIFY(job->error()); |
95 | QVERIFY(!manager->isInitialized()); |
96 | QVERIFY(!manager->isOperational()); |
97 | |
98 | delete manager; |
99 | } |
100 | |
101 | void ObexManagerTest::obexNoAgentManagerTest() |
102 | { |
103 | // org.bluez.obex exports ObjectManager and Client1, but there is no AgentManager1 |
104 | // expected: init error |
105 | FakeBluez::start(); |
106 | FakeBluez::runTest(QStringLiteral("obex-no-agentmanager")); |
107 | |
108 | ObexManager *manager = new ObexManager; |
109 | InitObexManagerJob *job = manager->init(); |
110 | job->exec(); |
111 | |
112 | QVERIFY(job->error()); |
113 | QVERIFY(!manager->isInitialized()); |
114 | QVERIFY(!manager->isOperational()); |
115 | |
116 | delete manager; |
117 | } |
118 | |
119 | void ObexManagerTest::obexServiceOkTest() |
120 | { |
121 | // org.bluez.obex is running and exports all used interfaces |
122 | // expected: init successful |
123 | FakeBluez::start(); |
124 | FakeBluez::runTest(QStringLiteral("obex-standard")); |
125 | |
126 | ObexManager *manager = new ObexManager; |
127 | InitObexManagerJob *job = manager->init(); |
128 | job->exec(); |
129 | |
130 | QVERIFY(!job->error()); |
131 | QVERIFY(manager->isInitialized()); |
132 | QVERIFY(manager->isOperational()); |
133 | |
134 | delete manager; |
135 | } |
136 | |
137 | QTEST_MAIN(ObexManagerTest) |
138 | |
139 | #include "moc_obexmanagertest.cpp" |
140 |