File indexing completed on 2024-05-12 15:47:07
0001 #include "kwalletboth.h" 0002 0003 #include <QApplication> 0004 #include <QMap> 0005 #include <QTest> 0006 #include <QTextStream> 0007 #include <QTimer> 0008 0009 #include <KAboutData> 0010 #include <QDBusConnection> 0011 #include <QDBusConnectionInterface> 0012 #include <kwallet.h> 0013 0014 #include "kwallettest.h" 0015 0016 static QTextStream _out(stdout, QIODevice::WriteOnly); 0017 0018 void KWalletBothTest::init() 0019 { 0020 if (!qEnvironmentVariableIsSet("DISPLAY")) { 0021 QSKIP("$DISPLAY is not set. These tests cannot be done without a graphical system."); 0022 } 0023 } 0024 0025 void KWalletBothTest::openWallet() 0026 { 0027 _out << "About to ask for wallet async\n"; 0028 0029 // we have no wallet: ask for one. 0030 KWallet::Wallet *wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Asynchronous); 0031 QVERIFY(wallet != nullptr); 0032 0033 WalletReceiver r; 0034 connect(wallet, &KWallet::Wallet::walletOpened, &r, &WalletReceiver::walletOpened); 0035 0036 _out << "About to ask for wallet sync\n"; 0037 0038 wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Synchronous); 0039 QVERIFY(wallet != nullptr); 0040 0041 _out << "Got sync wallet: " << (wallet != nullptr) << '\n'; 0042 _out << "About to start 30 second event loop\n"; 0043 0044 QTimer::singleShot(30000, qApp, SLOT(quit())); 0045 int ret = qApp->exec(); 0046 0047 if (ret == 0) { 0048 _out << "Timed out!\n"; 0049 } else { 0050 _out << "Success!\n"; 0051 } 0052 0053 bool success = false; 0054 QMap<QString, QString> p; 0055 p = wallet->passwordList(&success); 0056 _out << "passwordList returned: " << success << '\n'; 0057 _out << "passwordList returned " << p.keys().count() << " entries\n"; 0058 #if KWALLET_BUILD_DEPRECATED_SINCE(5, 72) 0059 p = {}; 0060 ret = wallet->readPasswordList(QStringLiteral("*"), p); 0061 _out << "readPasswordList returned: " << ret << '\n'; 0062 _out << "readPasswordList returned " << p.keys().count() << " entries\n"; 0063 #endif 0064 0065 QMap<QString, QMap<QString, QString>> q; 0066 q = wallet->mapList(&success); 0067 _out << "mapList returned: " << success << '\n'; 0068 _out << "mapList returned " << q.keys().count() << " entries\n"; 0069 #if KWALLET_BUILD_DEPRECATED_SINCE(5, 72) 0070 q = {}; 0071 ret = wallet->readMapList(QStringLiteral("*"), q); 0072 _out << "readMapList returned: " << ret << '\n'; 0073 _out << "readMapList returned " << q.keys().count() << " entries\n"; 0074 0075 #endif 0076 0077 QMap<QString, QByteArray> s; 0078 s = wallet->entriesList(&success); 0079 _out << "entryList returned: " << success << '\n'; 0080 _out << "entryList returned " << s.keys().count() << " entries\n"; 0081 #if KWALLET_BUILD_DEPRECATED_SINCE(5, 72) 0082 s = {}; 0083 ret = wallet->readEntryList(QStringLiteral("*"), s); 0084 _out << "readEntryList returned: " << ret << '\n'; 0085 _out << "readEntryList returned " << s.keys().count() << " entries\n"; 0086 #endif 0087 0088 _out.flush(); 0089 0090 delete wallet; 0091 } 0092 0093 void WalletReceiver::walletOpened(bool got) 0094 { 0095 _out << "Got async wallet: " << got << '\n'; 0096 _out.flush(); 0097 qApp->exit(1); 0098 } 0099 0100 QTEST_GUILESS_MAIN(KWalletBothTest) 0101 0102 #include "moc_kwalletboth.cpp"