diff options
Diffstat (limited to 'lang/qt/tests/t-keylist.cpp')
| -rw-r--r-- | lang/qt/tests/t-keylist.cpp | 54 | 
1 files changed, 54 insertions, 0 deletions
diff --git a/lang/qt/tests/t-keylist.cpp b/lang/qt/tests/t-keylist.cpp new file mode 100644 index 00000000..f5c7f131 --- /dev/null +++ b/lang/qt/tests/t-keylist.cpp @@ -0,0 +1,54 @@ +#include <QDebug> +#include <QTest> +#include <QSignalSpy> +#include "keylistjob.h" +#include "qgpgmebackend.h" +#include "keylistresult.h" + +using namespace QGpgME; +using namespace GpgME; + +class KeyListTest : public QObject +{ +    Q_OBJECT + +Q_SIGNALS: +    void asyncDone(); + +private Q_SLOTS: + +    void testSingleKeyListSync() +    { +        KeyListJob *job = openpgp()->keyListJob(false, false, false); +        std::vector<GpgME::Key> keys; +        GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("[email protected]"), +                                                false, keys); +        Q_ASSERT (!result.error()); +        Q_ASSERT (keys.size() == 1); +        const QString kId = QLatin1String(keys.front().keyID()); +        Q_ASSERT (kId == QStringLiteral("2D727CC768697734")); +    } + +    void testKeyListAsync() +    { +        KeyListJob *job = openpgp()->keyListJob(); +        connect(job, &KeyListJob::result, job, [this, job](KeyListResult, std::vector<Key> keys, QString, Error) +        { +            Q_ASSERT(keys.size() == 1); +            Q_EMIT asyncDone(); +        }); +        job->start(QStringList() << "[email protected]"); +        QSignalSpy spy (this, &KeyListTest::asyncDone); +        Q_ASSERT(spy.wait()); +    } + +    void initTestCase() +    { +        const QString gpgHome = qgetenv("GNUPGHOME"); +        QVERIFY2(!gpgHome.isEmpty(), "GNUPGHOME environment variable is not set."); +    } +}; + +QTEST_MAIN(KeyListTest) + +#include "t-keylist.moc"  | 
