aboutsummaryrefslogtreecommitdiff
path: root/tests/util.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-08-15 08:40:50 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-08-15 08:40:50 +0200
commit3231fbf9b4366005f71fcc3f00b447dda58d65fe (patch)
treeb228bd74f9f1ffc82067aff007cf16dac43390a9 /tests/util.h
parentc7edb89abbb38c432667de15181b4cee6f14577e (diff)
downloadqxmpp-3231fbf9b4366005f71fcc3f00b447dda58d65fe.tar.gz
move TestPasswordChecker to test utilities
Diffstat (limited to 'tests/util.h')
-rw-r--r--tests/util.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/util.h b/tests/util.h
index c549d383..bedf5e34 100644
--- a/tests/util.h
+++ b/tests/util.h
@@ -24,6 +24,7 @@
#include <QDomDocument>
#include <QtTest>
+#include "QXmppPasswordChecker.h"
template <class T>
static void parsePacket(T &packet, const QByteArray &xml)
@@ -46,3 +47,33 @@ static void serializePacket(T &packet, const QByteArray &xml)
qDebug() << "writing" << buffer.data();
QCOMPARE(buffer.data(), xml);
}
+
+class TestPasswordChecker : public QXmppPasswordChecker
+{
+public:
+ void addCredentials(const QString &user, const QString &password)
+ {
+ m_credentials.insert(user, password);
+ };
+
+ /// Retrieves the password for the given username.
+ QXmppPasswordReply::Error getPassword(const QXmppPasswordRequest &request, QString &password)
+ {
+ if (m_credentials.contains(request.username()))
+ {
+ password = m_credentials.value(request.username());
+ return QXmppPasswordReply::NoError;
+ } else {
+ return QXmppPasswordReply::AuthorizationError;
+ }
+ };
+
+ /// Returns whether getPassword() is enabled.
+ bool hasGetPassword() const
+ {
+ return true;
+ };
+
+private:
+ QMap<QString, QString> m_credentials;
+};