From 09026ca26a584635d476dcf6bf40fe11af02bce6 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Sun, 15 Feb 2026 15:42:42 +0100 Subject: [PATCH] tests: cover Runner1 ResolveLaunch unknown runnerId contract --- tests/dbus_smoketest.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/dbus_smoketest.cpp b/tests/dbus_smoketest.cpp index 9d71890..b82ab93 100644 --- a/tests/dbus_smoketest.cpp +++ b/tests/dbus_smoketest.cpp @@ -91,6 +91,7 @@ private Q_SLOTS: void pingRunner(); void runnerVersionAndListRunners(); void runnerResolveLaunchMissingProgram(); + void runnerResolveLaunchUnknownRunnerId(); void pingInput(); void inputVersionAndCapabilities(); void inputProfilesCrud(); @@ -575,6 +576,27 @@ void DbusSmokeTest::runnerResolveLaunchMissingProgram() QVERIFY(out.value(QStringLiteral("error")).toString().contains(QStringLiteral("missing program"), Qt::CaseInsensitive)); } +void DbusSmokeTest::runnerResolveLaunchUnknownRunnerId() +{ + org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus); + QVERIFY(iface.isValid()); + iface.setTimeout(2000); + + QVariantMap spec; + spec.insert(QStringLiteral("runnerId"), QStringLiteral("alakarte-test-nonexistent")); + spec.insert(QStringLiteral("program"), QStringLiteral("/bin/true")); + spec.insert(QStringLiteral("args"), QStringList{}); + + QDBusPendingReply reply = iface.ResolveLaunch(spec); + reply.waitForFinished(); + QVERIFY2(!reply.isError(), qPrintable(reply.error().message())); + + const QVariantMap out = reply.value(); + QCOMPARE(out.value(QStringLiteral("ok")).toBool(), false); + QVERIFY(out.contains(QStringLiteral("error"))); + QVERIFY(out.value(QStringLiteral("error")).toString().contains(QStringLiteral("unknown runnerId"), Qt::CaseInsensitive)); +} + void DbusSmokeTest::runnerGameProfiles() { org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus);