From 3231fbf9b4366005f71fcc3f00b447dda58d65fe Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Sat, 15 Aug 2015 08:40:50 +0200 Subject: move TestPasswordChecker to test utilities --- tests/util.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'tests/util.h') 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 #include +#include "QXmppPasswordChecker.h" template 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 m_credentials; +}; -- cgit v1.2.3