add test for dbus connection

This commit is contained in:
Evgenii Alekseev 2016-10-23 01:32:07 +03:00
parent 77a94aa0c1
commit d520f55afc
3 changed files with 26 additions and 2 deletions

View File

@ -79,7 +79,7 @@ AWKeys::~AWKeys()
delete m_timer;
// delete dbus session
long id = reinterpret_cast<long>(this);
qlonglong id = reinterpret_cast<qlonglong>(this);
QDBusConnection::sessionBus().unregisterObject(QString("/%1").arg(id));
// core
@ -330,7 +330,7 @@ void AWKeys::calculateValues()
void AWKeys::createDBusInterface()
{
// get this object id
long id = reinterpret_cast<long>(this);
qlonglong id = reinterpret_cast<qlonglong>(this);
// create session
QDBusConnection bus = QDBusConnection::sessionBus();

View File

@ -18,10 +18,13 @@
#include "testawkeys.h"
#include <QDBusConnection>
#include <QDBusMessage>
#include <QtTest>
#include "awkeys.h"
#include "awtestlibrary.h"
#include "version.h"
void TestAWKeys::initTestCase()
@ -159,4 +162,24 @@ void TestAWKeys::test_valueByKey()
}
void TestAWKeys::test_dbus()
{
// get id
qlonglong id = reinterpret_cast<qlonglong>(plugin);
// create connection and message
QDBusConnection bus = QDBusConnection::sessionBus();
QDBusMessage request
= QDBusMessage::createMethodCall(AWDBUS_SERVICE, QString("/%1").arg(id),
AWDBUS_SERVICE, QString("WhoAmI"));
// send message to dbus
QDBusMessage response = bus.call(request, QDBus::BlockWithGui);
// parse result
QList<QVariant> arguments = response.arguments();
QVERIFY(!arguments.isEmpty());
QCOMPARE(arguments.at(0).toLongLong(), id);
}
QTEST_MAIN(TestAWKeys);

View File

@ -40,6 +40,7 @@ private slots:
void test_wrapNewLines();
void test_infoByKey();
void test_valueByKey();
void test_dbus();
private:
AWKeys *plugin = nullptr;