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#ifndef AGENTMANAGERTEST_H
8#define AGENTMANAGERTEST_H
9
10#include <QDBusObjectPath>
11#include <QObject>
12
13#include "agent.h"
14#include "device.h"
15
16class TestAgent : public BluezQt::Agent
17{
18 Q_OBJECT
19
20public:
21 explicit TestAgent(QObject *parent = nullptr);
22
23 QDBusObjectPath objectPath() const override;
24
25 void requestPinCode(BluezQt::DevicePtr device, const BluezQt::Request<QString> &request) override;
26 void displayPinCode(BluezQt::DevicePtr device, const QString &pinCode) override;
27 void requestPasskey(BluezQt::DevicePtr device, const BluezQt::Request<quint32> &request) override;
28 void displayPasskey(BluezQt::DevicePtr device, const QString &passkey, const QString &entered) override;
29 void requestConfirmation(BluezQt::DevicePtr device, const QString &passkey, const BluezQt::Request<> &request) override;
30 void requestAuthorization(BluezQt::DevicePtr device, const BluezQt::Request<> &request) override;
31 void authorizeService(BluezQt::DevicePtr device, const QString &uuid, const BluezQt::Request<> &request) override;
32
33 void cancel() override;
34 void release() override;
35
36 BluezQt::DevicePtr m_device;
37
38 // requestPinCode
39 bool m_pinRequested;
40
41 // displayPinCode
42 QString m_displayedPinCode;
43
44 // requestPasskey
45 bool m_passkeyRequested;
46
47 // displayPasskey
48 QString m_displayedPasskey;
49 QString m_enteredPasskey;
50
51 // requestConfirmation
52 QString m_requestedPasskey;
53
54 // requestAuthorization
55 bool m_authorizationRequested;
56
57 // authorizeService
58 QString m_authorizedUuid;
59
60 // cancel
61 bool m_cancelCalled;
62
63 // release
64 bool m_releaseCalled;
65};
66
67class AgentManagerTest : public QObject
68{
69 Q_OBJECT
70
71private Q_SLOTS:
72 void initTestCase();
73 void cleanupTestCase();
74
75 void requestPinCodeTest();
76 void displayPinCodeTest();
77 void requestPasskeyTest();
78 void displayPasskeyTest();
79 void requestConfirmationTest();
80 void requestAuthorizationTest();
81 void authorizeServiceTest();
82 void cancelTest();
83 void releaseTest();
84
85private:
86 TestAgent *m_agent;
87 QDBusObjectPath m_device;
88};
89
90#endif // AGENTMANAGERTEST_H
91

source code of bluez-qt/autotests/agentmanagertest.h