diff options
Diffstat (limited to 'kwallet/tests')
-rw-r--r-- | kwallet/tests/Makefile.am | 20 | ||||
-rw-r--r-- | kwallet/tests/README | 5 | ||||
-rw-r--r-- | kwallet/tests/kwalletasync.cpp | 59 | ||||
-rw-r--r-- | kwallet/tests/kwalletboth.cpp | 81 | ||||
-rw-r--r-- | kwallet/tests/kwalletsync.cpp | 39 | ||||
-rw-r--r-- | kwallet/tests/kwallettest.cpp | 2 | ||||
-rw-r--r-- | kwallet/tests/kwallettest.h | 15 |
7 files changed, 221 insertions, 0 deletions
diff --git a/kwallet/tests/Makefile.am b/kwallet/tests/Makefile.am new file mode 100644 index 000000000..cdcec5859 --- /dev/null +++ b/kwallet/tests/Makefile.am @@ -0,0 +1,20 @@ +AM_CPPFLAGS = -DKDE_NO_COMPAT -DQT_NO_COMPAT -DQT_NO_ASCII_CAST $(all_includes) + +METASOURCES = AUTO +check_PROGRAMS = kwalletasync kwalletsync kwalletboth + +kwalletasync_SOURCES = kwalletasync.cpp kwallettest.cpp +kwalletasync_LDFLAGS = -no-undefined $(KDE_RPATH) $(all_libraries) +kwalletasync_LDADD = $(top_builddir)/kwallet/client/libkwalletclient.la \ + $(LIB_KDECORE) $(LIB_QT) + +kwalletsync_SOURCES = kwalletsync.cpp +kwalletsync_LDFLAGS = -no-undefined $(KDE_RPATH) $(all_libraries) +kwalletsync_LDADD = $(top_builddir)/kwallet/client/libkwalletclient.la \ + $(LIB_KDECORE) $(LIB_QT) + +kwalletboth_SOURCES = kwalletboth.cpp kwallettest.cpp +kwalletboth_LDFLAGS = -no-undefined $(KDE_RPATH) $(all_libraries) +kwalletboth_LDADD = $(top_builddir)/kwallet/client/libkwalletclient.la \ + $(LIB_KDECORE) $(LIB_QT) +INCLUDES = -I$(top_srcdir)/kwallet/client diff --git a/kwallet/tests/README b/kwallet/tests/README new file mode 100644 index 000000000..73c3ad1db --- /dev/null +++ b/kwallet/tests/README @@ -0,0 +1,5 @@ +Tests for opening the wallet synchronously and asynchronously + +kwalletsync - open synchronously +kwalletasync - open asynchronously +kwalletboth - start opening asynchronously, then, during the async call, open synchronously diff --git a/kwallet/tests/kwalletasync.cpp b/kwallet/tests/kwalletasync.cpp new file mode 100644 index 000000000..0992c6e7d --- /dev/null +++ b/kwallet/tests/kwalletasync.cpp @@ -0,0 +1,59 @@ +#include <qtextstream.h> +#include <qtimer.h> + +#include <kaboutdata.h> +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kdebug.h> +#include <kglobal.h> +#include <kstandarddirs.h> +#include <dcopclient.h> +#include <kwallet.h> + +#include "kwallettest.h" + +static QTextStream _out( stdout, IO_WriteOnly ); + +void openWallet() +{ + _out << "About to ask for wallet async" << endl; + + // we have no wallet: ask for one. + KWallet::Wallet *wallet = KWallet::Wallet::openWallet( KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Asynchronous ); + + WalletReceiver r; + r.connect( wallet, SIGNAL( walletOpened(bool) ), SLOT( walletOpened(bool) ) ); + + _out << "About to start 30 second event loop" << endl; + + QTimer::singleShot( 30000, qApp, SLOT( quit() ) ); + int ret = qApp->exec(); + + if ( ret == 0 ) + _out << "Timed out!" << endl; + else + _out << "Success!" << endl; +} + +void WalletReceiver::walletOpened( bool got ) +{ + _out << "Got async wallet: " << got << endl; + qApp->exit( 1 ); +} + +int main( int argc, char *argv[] ) +{ + KAboutData aboutData( "kwalletasync", "kwalletasync", "version" ); + KCmdLineArgs::init( argc, argv, &aboutData ); + KApplication app( "kwalletasync" ); + + // register with DCOP + _out << "DCOP registration returned " << app.dcopClient()->registerAs(app.name()) << endl; + + openWallet(); + + return 0; +} + +// vim: set noet ts=4 sts=4 sw=4: + diff --git a/kwallet/tests/kwalletboth.cpp b/kwallet/tests/kwalletboth.cpp new file mode 100644 index 000000000..736be72cb --- /dev/null +++ b/kwallet/tests/kwalletboth.cpp @@ -0,0 +1,81 @@ +#include <qtextstream.h> +#include <qtimer.h> + +#include <kaboutdata.h> +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kdebug.h> +#include <kglobal.h> +#include <kstandarddirs.h> +#include <dcopclient.h> +#include <kwallet.h> + +#include "kwallettest.h" + +static QTextStream _out( stdout, IO_WriteOnly ); + +void openWallet() +{ + _out << "About to ask for wallet async" << endl; + + // we have no wallet: ask for one. + KWallet::Wallet *wallet = KWallet::Wallet::openWallet( KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Asynchronous ); + + WalletReceiver r; + r.connect( wallet, SIGNAL( walletOpened(bool) ), SLOT( walletOpened(bool) ) ); + + _out << "About to ask for wallet sync" << endl; + + wallet = KWallet::Wallet::openWallet( KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Synchronous ); + + _out << "Got sync wallet: " << (wallet != 0) << endl; + _out << "About to start 30 second event loop" << endl; + + QTimer::singleShot( 30000, qApp, SLOT( quit() ) ); + int ret = qApp->exec(); + + + if ( ret == 0 ) + _out << "Timed out!" << endl; + else + _out << "Success!" << endl; + + QMap<QString,QString> p; + ret = wallet->readPasswordList("*", p); + _out << "readPasswordList returned: " << ret << endl; + _out << "readPasswordList returned " << p.keys().count() << " entries" << endl; + QMap<QString, QMap<QString, QString> > q; + ret = wallet->readMapList("*", q); + _out << "readMapList returned: " << ret << endl; + _out << "readMapList returned " << q.keys().count() << " entries" << endl; + + QMap<QString, QByteArray> s; + ret = wallet->readEntryList("*", s); + _out << "readEntryList returned: " << ret << endl; + _out << "readEntryList returned " << s.keys().count() << " entries" << endl; + + delete wallet; +} + +void WalletReceiver::walletOpened( bool got ) +{ + _out << "Got async wallet: " << got << endl; + qApp->exit( 1 ); +} + +int main( int argc, char *argv[] ) +{ + KAboutData aboutData( "kwalletboth", "kwalletboth", "version" ); + KCmdLineArgs::init( argc, argv, &aboutData ); + KApplication app( "kwalletboth" ); + + // register with DCOP + _out << "DCOP registration returned " << app.dcopClient()->registerAs(app.name()) << endl; + + openWallet(); + + return 0; +} + +// vim: set noet ts=4 sts=4 sw=4: + diff --git a/kwallet/tests/kwalletsync.cpp b/kwallet/tests/kwalletsync.cpp new file mode 100644 index 000000000..d5eae13a3 --- /dev/null +++ b/kwallet/tests/kwalletsync.cpp @@ -0,0 +1,39 @@ +#include <qtextstream.h> +#include <qtimer.h> + +#include <kaboutdata.h> +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kdebug.h> +#include <kglobal.h> +#include <kstandarddirs.h> +#include <dcopclient.h> +#include <kwallet.h> + +static QTextStream _out( stdout, IO_WriteOnly ); + +void openWallet() +{ + _out << "About to ask for wallet sync" << endl; + + KWallet::Wallet *w = KWallet::Wallet::openWallet( KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Synchronous ); + + _out << "Got sync wallet: " << (w != 0) << endl; +} + +int main( int argc, char *argv[] ) +{ + KAboutData aboutData( "kwalletsync", "kwalletsync", "version" ); + KCmdLineArgs::init( argc, argv, &aboutData ); + KApplication app( "kwalletsync" ); + + // register with DCOP + _out << "DCOP registration returned " << app.dcopClient()->registerAs(app.name()) << endl; + + openWallet(); + + return 0; +} + +// vim: set noet ts=4 sts=4 sw=4: + diff --git a/kwallet/tests/kwallettest.cpp b/kwallet/tests/kwallettest.cpp new file mode 100644 index 000000000..a17644cfb --- /dev/null +++ b/kwallet/tests/kwallettest.cpp @@ -0,0 +1,2 @@ +#include "kwallettest.h" +#include "kwallettest.moc" diff --git a/kwallet/tests/kwallettest.h b/kwallet/tests/kwallettest.h new file mode 100644 index 000000000..e3fe834f2 --- /dev/null +++ b/kwallet/tests/kwallettest.h @@ -0,0 +1,15 @@ +#ifndef KWALLETASYNC_H +#define KWALLETASYNC_H + +#include <qobject.h> + +namespace KWallet { class Wallet; } + +class WalletReceiver : public QObject +{ + Q_OBJECT +public slots: + void walletOpened( bool ); +}; + +#endif |