mirror of
https://invent.kde.org/marcoa/a-la-karte.git
synced 2026-03-26 17:03:08 +00:00
tests: use generated Input1 proxy and cover profile CRUD
This commit is contained in:
parent
47cab1cbe5
commit
cd23253386
2 changed files with 70 additions and 6 deletions
|
|
@ -20,6 +20,11 @@ qt_add_dbus_interface(alakarte_dbus_smoketest_dbus_sources
|
|||
runner1interface
|
||||
)
|
||||
|
||||
qt_add_dbus_interface(alakarte_dbus_smoketest_dbus_sources
|
||||
${CMAKE_SOURCE_DIR}/src/input/dbus/org.kde.ALaKarte.Input1.xml
|
||||
input1interface
|
||||
)
|
||||
|
||||
target_sources(alakarte_dbus_smoketest PRIVATE
|
||||
${alakarte_dbus_smoketest_dbus_sources}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include <QtTest>
|
||||
|
||||
#include "gamecenter1interface.h"
|
||||
#include "input1interface.h"
|
||||
#include "runner1interface.h"
|
||||
|
||||
namespace
|
||||
|
|
@ -90,6 +91,7 @@ private Q_SLOTS:
|
|||
void pingRunner();
|
||||
void runnerVersionAndListRunners();
|
||||
void pingInput();
|
||||
void inputProfilesCrud();
|
||||
void runnerResolveLaunchNative();
|
||||
void runnerGameProfiles();
|
||||
|
||||
|
|
@ -429,18 +431,75 @@ void DbusSmokeTest::runnerVersionAndListRunners()
|
|||
|
||||
void DbusSmokeTest::pingInput()
|
||||
{
|
||||
QDBusInterface iface(QStringLiteral("org.kde.ALaKarte.Input1"),
|
||||
QStringLiteral("/org/kde/ALaKarte/Input1"),
|
||||
QStringLiteral("org.kde.ALaKarte.Input1"),
|
||||
m_bus);
|
||||
org::kde::ALaKarte::Input1 iface(QStringLiteral("org.kde.ALaKarte.Input1"), QStringLiteral("/org/kde/ALaKarte/Input1"), m_bus);
|
||||
QVERIFY(iface.isValid());
|
||||
iface.setTimeout(2000);
|
||||
|
||||
const QDBusReply<QString> reply = iface.call(QStringLiteral("Ping"));
|
||||
QVERIFY(reply.isValid());
|
||||
QDBusPendingReply<QString> reply = iface.Ping();
|
||||
reply.waitForFinished();
|
||||
QVERIFY2(!reply.isError(), qPrintable(reply.error().message()));
|
||||
QCOMPARE(reply.value(), QStringLiteral("ok"));
|
||||
}
|
||||
|
||||
void DbusSmokeTest::inputProfilesCrud()
|
||||
{
|
||||
org::kde::ALaKarte::Input1 iface(QStringLiteral("org.kde.ALaKarte.Input1"), QStringLiteral("/org/kde/ALaKarte/Input1"), m_bus);
|
||||
QVERIFY(iface.isValid());
|
||||
iface.setTimeout(2000);
|
||||
|
||||
QDBusPendingReply<QString> createReply = iface.CreateProfile(QStringLiteral("Test Profile"));
|
||||
createReply.waitForFinished();
|
||||
QVERIFY2(!createReply.isError(), qPrintable(createReply.error().message()));
|
||||
const QString profileId = createReply.value();
|
||||
QVERIFY(!profileId.isEmpty());
|
||||
|
||||
{
|
||||
QDBusPendingReply<QVariantList> listReply = iface.ListProfiles();
|
||||
listReply.waitForFinished();
|
||||
QVERIFY2(!listReply.isError(), qPrintable(listReply.error().message()));
|
||||
const QVariantList list = listReply.value();
|
||||
|
||||
bool found = false;
|
||||
for (const QVariant &v : list) {
|
||||
const QVariantMap m = unwrapVariantMap(v);
|
||||
if (m.value(QStringLiteral("id")).toString() == profileId) {
|
||||
found = true;
|
||||
QCOMPARE(m.value(QStringLiteral("name")).toString(), QStringLiteral("Test Profile"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
QVERIFY(found);
|
||||
}
|
||||
|
||||
{
|
||||
QDBusPendingReply<QVariantMap> getReply = iface.GetProfile(profileId);
|
||||
getReply.waitForFinished();
|
||||
QVERIFY2(!getReply.isError(), qPrintable(getReply.error().message()));
|
||||
const QVariantMap m = getReply.value();
|
||||
QCOMPARE(m.value(QStringLiteral("id")).toString(), profileId);
|
||||
QCOMPARE(m.value(QStringLiteral("name")).toString(), QStringLiteral("Test Profile"));
|
||||
}
|
||||
|
||||
{
|
||||
QDBusPendingReply<bool> delReply = iface.DeleteProfile(profileId);
|
||||
delReply.waitForFinished();
|
||||
QVERIFY2(!delReply.isError(), qPrintable(delReply.error().message()));
|
||||
QVERIFY(delReply.value());
|
||||
}
|
||||
|
||||
{
|
||||
QDBusPendingReply<QVariantList> listReply = iface.ListProfiles();
|
||||
listReply.waitForFinished();
|
||||
QVERIFY2(!listReply.isError(), qPrintable(listReply.error().message()));
|
||||
const QVariantList list = listReply.value();
|
||||
|
||||
for (const QVariant &v : list) {
|
||||
const QVariantMap m = unwrapVariantMap(v);
|
||||
QVERIFY(m.value(QStringLiteral("id")).toString() != profileId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DbusSmokeTest::runnerResolveLaunchNative()
|
||||
{
|
||||
org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus);
|
||||
|
|
|
|||
Loading…
Reference in a new issue