tests: cover Runner1 ResolveLaunch unknown runnerId contract

This commit is contained in:
Marco Allegretti 2026-02-15 15:42:42 +01:00
parent b24417df69
commit 09026ca26a

View file

@ -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<QVariantMap> 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);