on 87f587d help sign in
unity8/tests/plugins/Unity/Session/sessionbackendtest.cpp
65 lines 1.9 kB history raw
1/*
2 * Copyright 2013 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Ying-Chun Liu (PaulLiu) <paul.liu@canonical.com>
18 */
20#include <QtTest>
21#include <QDBusConnection>
22#include <QDBusMessage>
23#include <QDBusInterface>
24#include <QDBusReply>
25#include <QDBusVariant>
27#include "dbusunitysessionservice.h"
29class SessionBackendTest : public QObject
31 Q_OBJECT
33private Q_SLOTS:
35 void initTestCase() {
36 }
38 void testDbusIfaceMethods_data() {
39 QTest::addColumn<QString>("method");
41 QTest::newRow("Logout") << "RequestLogout";
42 }
44 void testDbusIfaceMethods() {
45 QFETCH(QString, method);
47 DBusUnitySessionService dbusUnitySessionService;
48 QCoreApplication::processEvents(); // to let the service register on DBus
50 QDBusConnection con = QDBusConnection::sessionBus();
51 QDBusInterface interface ("com.canonical.Unity",
52 "/com/canonical/Unity/Session",
53 "com.canonical.Unity.Session",
54 con);
55 QDBusReply<void> reply;
57 QCOMPARE(interface.isValid(), true);
58 reply = interface.call(method);
59 QCOMPARE(reply.isValid(), true);
61 }
62};
64QTEST_GUILESS_MAIN(SessionBackendTest)
65#include "sessionbackendtest.moc"