File indexing completed on 2024-05-12 03:59:57
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 0059 QMap<QString, QMap<QString, QString>> q; 0060 q = wallet->mapList(&success); 0061 _out << "mapList returned: " << success << '\n'; 0062 _out << "mapList returned " << q.keys().count() << " entries\n"; 0063 0064 QMap<QString, QByteArray> s; 0065 s = wallet->entriesList(&success); 0066 _out << "entryList returned: " << success << '\n'; 0067 _out << "entryList returned " << s.keys().count() << " entries\n"; 0068 0069 _out.flush(); 0070 0071 delete wallet; 0072 } 0073 0074 void WalletReceiver::walletOpened(bool got) 0075 { 0076 _out << "Got async wallet: " << got << '\n'; 0077 _out.flush(); 0078 qApp->exit(1); 0079 } 0080 0081 QTEST_GUILESS_MAIN(KWalletBothTest) 0082 0083 #include "moc_kwalletboth.cpp"