File indexing completed on 2024-04-21 05:50:40
0001 #include "kgpgdelkey.h" 0002 #include "../core/kgpgkey.h" 0003 #include "../core/KGpgRootNode.h" 0004 #include "../kgpginterface.h" 0005 #include "../model/kgpgitemmodel.h" 0006 #include "../transactions/kgpgdelkey.h" 0007 #include "common.h" 0008 0009 #include <QSignalSpy> 0010 #include <QTest> 0011 0012 void KGpgDelKeyTest::init() 0013 { 0014 resetGpgConf(m_tempdir); 0015 } 0016 0017 void KGpgDelKeyTest::testDeleteKey() 0018 { 0019 QFETCH(QString, passphrase); 0020 addGpgKey(m_tempdir, QLatin1String("keys/kgpgtest_BA7695F3C550DF14.asc"), passphrase); 0021 QString keyId = QLatin1String("BA7695F3C550DF14"); 0022 KGpgItemModel *model = new KGpgItemModel(this); 0023 KGpgRootNode *rootNode = new KGpgRootNode(model); 0024 rootNode->addKeys(QStringList(keyId)); 0025 KGpgKeyNode *keyNode = rootNode->findKey(keyId); 0026 QVERIFY(keyNode != nullptr); 0027 KGpgDelKey *transaction = new KGpgDelKey(this, keyNode); 0028 QObject::connect(transaction, &KGpgDelKey::done, 0029 [](int result) { QCOMPARE(result, static_cast<int>(KGpgTransaction::TS_OK)); }); 0030 QSignalSpy spy(transaction, &KGpgDelKey::done); 0031 transaction->addArgument(QStringLiteral("--yes")); 0032 transaction->start(); 0033 QVERIFY(spy.wait(10000)); 0034 QCOMPARE(KgpgInterface::readSecretKeys().size(), 0); 0035 QCOMPARE(KgpgInterface::readPublicKeys().size(), 0); 0036 } 0037 0038 void KGpgDelKeyTest::testDeleteKey_data() 0039 { 0040 QTest::addColumn<QString>("passphrase"); 0041 QTest::newRow("public") << QString(); 0042 QTest::newRow("secret") 0043 << readFile(QLatin1String("keys/kgpgtest_BA7695F3C550DF14.pass")); 0044 } 0045 0046 QTEST_GUILESS_MAIN(KGpgDelKeyTest)