tests: cover Runner1 ResolveLaunch failure contract

This commit is contained in:
Marco Allegretti 2026-02-15 15:21:15 +01:00
parent 13b65135f1
commit b24417df69

View file

@ -90,6 +90,7 @@ private Q_SLOTS:
void gameCenterLaunchFailureContract();
void pingRunner();
void runnerVersionAndListRunners();
void runnerResolveLaunchMissingProgram();
void pingInput();
void inputVersionAndCapabilities();
void inputProfilesCrud();
@ -555,6 +556,25 @@ void DbusSmokeTest::runnerResolveLaunchNative()
QCOMPARE(out.value(QStringLiteral("finalArgs")).toStringList(), QStringList{});
}
void DbusSmokeTest::runnerResolveLaunchMissingProgram()
{
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("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("missing program"), Qt::CaseInsensitive));
}
void DbusSmokeTest::runnerGameProfiles()
{
org::kde::ALaKarte::Runner1 iface(QStringLiteral("org.kde.ALaKarte.Runner1"), QStringLiteral("/org/kde/ALaKarte/Runner1"), m_bus);