File indexing completed on 2024-03-24 05:53:31
0001 #include "kgpgverify.h" 0002 #include "../transactions/kgpgverify.h" 0003 #include "common.h" 0004 0005 #include <QList> 0006 #include <QString> 0007 #include <QSignalSpy> 0008 #include <QTest> 0009 #include <QUrl> 0010 0011 void KGpgVerifyTest::init() 0012 { 0013 QVERIFY(resetGpgConf(m_tempdir)); 0014 } 0015 0016 void KGpgVerifyTest::testVerifySignedText() 0017 { 0018 addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14.asc")); 0019 QString text = readFile(QLatin1String("keys/signed_text")); 0020 KGpgVerify *transaction = new KGpgVerify(this, text); 0021 QSignalSpy spy(transaction, &KGpgVerify::done); 0022 QObject::connect(transaction, &KGpgVerify::done, 0023 [](int result) { QCOMPARE(result, static_cast<int>(KGpgTransaction::TS_OK)); }); 0024 transaction->start(); 0025 QVERIFY(spy.wait(10000)); 0026 } 0027 0028 void KGpgVerifyTest::testVerifySignedFile() 0029 { 0030 addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14.asc")); 0031 QList<QUrl> list; 0032 list.append(QUrl::fromLocalFile(QLatin1String("keys/signed_text"))); 0033 KGpgVerify *transaction = new KGpgVerify(this, list); 0034 QSignalSpy spy(transaction, &KGpgVerify::done); 0035 QObject::connect(transaction, &KGpgVerify::done, 0036 [](int result) { QCOMPARE(result, static_cast<int>(KGpgTransaction::TS_OK)); }); 0037 transaction->start(); 0038 QVERIFY(spy.wait(10000)); 0039 } 0040 0041 void KGpgVerifyTest::testVerifyReturnMissingKey() 0042 { 0043 QList<QUrl> list; 0044 list.append(QUrl::fromLocalFile(QLatin1String("keys/signed_text"))); 0045 KGpgVerify *transaction = new KGpgVerify(this, list); 0046 QSignalSpy spy(transaction, &KGpgVerify::done); 0047 QObject::connect(transaction, &KGpgVerify::done, 0048 [](int result) { QCOMPARE(result, static_cast<int>(KGpgVerify::TS_MISSING_KEY)); }); 0049 transaction->start(); 0050 QVERIFY(spy.wait(10000)); 0051 } 0052 0053 void KGpgVerifyTest::testVerifyMissingId() 0054 { 0055 QList<QUrl> list; 0056 list.append(QUrl::fromLocalFile(QLatin1String("keys/signed_text"))); 0057 KGpgVerify *transaction = new KGpgVerify(this, list); 0058 QSignalSpy spy(transaction, &KGpgVerify::done); 0059 QObject::connect(transaction, &KGpgVerify::done, [transaction]() { 0060 QString keyID = QLatin1String("7882C615210F1022"); 0061 QVERIFY(transaction->missingId().compare(keyID) == 0); 0062 }); 0063 transaction->start(); 0064 QVERIFY(spy.wait(10000)); 0065 } 0066 0067 void KGpgVerifyTest::testVerifyReturnBadSignature() 0068 { 0069 QList<QUrl> list; 0070 addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14.asc")); 0071 list.append(QUrl::fromLocalFile(QLatin1String("keys/signed_bad_sig"))); 0072 KGpgVerify *transaction = new KGpgVerify(this, list); 0073 QSignalSpy spy(transaction, &KGpgVerify::done); 0074 QObject::connect(transaction, &KGpgVerify::done, 0075 [](int result) { QCOMPARE(result, static_cast<int>(KGpgVerify::TS_BAD_SIGNATURE)); }); 0076 transaction->start(); 0077 QVERIFY(spy.wait(10000)); 0078 } 0079 0080 QTEST_GUILESS_MAIN(KGpgVerifyTest)