From 0ee6b11759f22cc81f06933982debf52035f9095 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Sat, 21 Jul 2012 10:59:55 +0200 Subject: improve SASL test coverage --- tests/sasl.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'tests/sasl.cpp') diff --git a/tests/sasl.cpp b/tests/sasl.cpp index a5399294..46f5f22b 100644 --- a/tests/sasl.cpp +++ b/tests/sasl.cpp @@ -45,6 +45,60 @@ void tst_QXmppSasl::testParsing() QCOMPARE(QXmppSaslDigestMd5::serializeMessage(map), bytes); } +void tst_QXmppSasl::testAuth_data() +{ + QTest::addColumn("xml"); + QTest::addColumn("mechanism"); + QTest::addColumn("value"); + + QTest::newRow("plain") + << QByteArray("AGZvbwBiYXI=") + << "PLAIN" << QByteArray("\0foo\0bar", 8); + + QTest::newRow("digest-md5") + << QByteArray("") + << "DIGEST-MD5" << QByteArray(); +} + +void tst_QXmppSasl::testAuth() +{ + QFETCH(QByteArray, xml); + QFETCH(QString, mechanism); + QFETCH(QByteArray, value); + + // no condition + QXmppSaslAuth auth; + parsePacket(auth, xml); + QCOMPARE(auth.mechanism(), mechanism); + QCOMPARE(auth.value(), value); + serializePacket(auth, xml); +} + +void tst_QXmppSasl::testFailure() +{ + // no condition + const QByteArray xml = ""; + QXmppSaslFailure failure; + parsePacket(failure, xml); + QCOMPARE(failure.condition(), QString()); + serializePacket(failure, xml); + + // not authorized + const QByteArray xml2 = ""; + QXmppSaslFailure failure2; + parsePacket(failure2, xml2); + QCOMPARE(failure2.condition(), QLatin1String("not-authorized")); + serializePacket(failure2, xml2); +} + +void tst_QXmppSasl::testSuccess() +{ + const QByteArray xml = ""; + QXmppSaslSuccess stanza; + parsePacket(stanza, xml); + serializePacket(stanza, xml); +} + void tst_QXmppSaslClient::testAvailableMechanisms() { QCOMPARE(QXmppSaslClient::availableMechanisms(), QStringList() << "PLAIN" << "DIGEST-MD5" << "ANONYMOUS" << "X-FACEBOOK-PLATFORM"); -- cgit v1.2.3