File indexing completed on 2024-04-28 09:46:02

0001 #include "kgpgdecrypt.h"
0002 #include "../transactions/kgpgdecrypt.h"
0003 #include "common.h"
0004 
0005 #include <QSignalSpy>
0006 #include <QTest>
0007 
0008 void KGpgDecryptTest::init()
0009 {
0010     QVERIFY(resetGpgConf(m_tempdir));
0011 }
0012 
0013 void KGpgDecryptTest::testDecrypt(){
0014     QFETCH(QString, encryptedFile);
0015     QString passphrase = readFile(QLatin1String("keys/kgpgtest_BA7695F3C550DF14.pass"));
0016     addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14_pub.asc"));
0017     addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14.asc"), passphrase);
0018     QString text = readFile(QLatin1String("keys/sample_text"));
0019     QString encryptedText = readFile(encryptedFile);
0020     KGpgDecrypt *transaction = new KGpgDecrypt(this, encryptedText);
0021     QObject::connect(transaction, &KGpgDecrypt::done,
0022              [](int result) { QCOMPARE(result, static_cast<int>(KGpgTransaction::TS_OK)); });
0023     QSignalSpy spy(transaction, &KGpgDecrypt::done);
0024     addPasswordArguments(transaction, passphrase);
0025     transaction->start();
0026     QVERIFY(spy.wait(decryptionTestTimeout));
0027     QVERIFY(text.compare(transaction->decryptedText().join(QLatin1Char('\n'))));
0028 }
0029 
0030 void KGpgDecryptTest::testDecrypt_data(){
0031     QTest::addColumn<QString>("encryptedFile");
0032     QTest::newRow("AsciiArmored") << QString(QLatin1String("keys/encrypt_text.txt"));
0033     QTest::newRow("HideKeyId") << QString(QLatin1String("keys/encrypt_text_hide_key_id.txt"));
0034     QTest::newRow("Symmetrical") << QString(QLatin1String("keys/encrypted_symmetrical.txt"));
0035 }
0036 
0037 QTEST_GUILESS_MAIN(KGpgDecryptTest)