From 12bf99e94f3037b083bbb4adc8897c7f7e55cb6e Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Thu, 19 Jul 2012 18:00:14 +0200 Subject: rework tests --- tests/sasl.cpp | 68 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 27 deletions(-) (limited to 'tests/sasl.cpp') diff --git a/tests/sasl.cpp b/tests/sasl.cpp index 0657b880..edd9b230 100644 --- a/tests/sasl.cpp +++ b/tests/sasl.cpp @@ -28,76 +28,90 @@ void tst_QXmppSaslClient::testAnonymous() { - QXmppSaslClientAnonymous client; - QCOMPARE(client.mechanism(), QLatin1String("ANONYMOUS")); + QXmppSaslClient *client = QXmppSaslClient::create("ANONYMOUS"); + QVERIFY(client != 0); + QCOMPARE(client->mechanism(), QLatin1String("ANONYMOUS")); // initial step returns nothing QByteArray response; - QVERIFY(client.respond(QByteArray(), response)); + QVERIFY(client->respond(QByteArray(), response)); QCOMPARE(response, QByteArray()); // any further step is an error - QVERIFY(!client.respond(QByteArray(), response)); + QVERIFY(!client->respond(QByteArray(), response)); + + delete client; } void tst_QXmppSaslClient::testDigestMd5() { qsrand(0); - QXmppSaslClientDigestMd5 client; - client.setUsername("qxmpp1"); - client.setPassword("qxmpp123"); - client.setServer("jabber.ru"); - QCOMPARE(client.mechanism(), QLatin1String("DIGEST-MD5")); + QXmppSaslClient *client = QXmppSaslClient::create("DIGEST-MD5"); + QVERIFY(client != 0); + QCOMPARE(client->mechanism(), QLatin1String("DIGEST-MD5")); + + client->setUsername("qxmpp1"); + client->setPassword("qxmpp123"); + client->setServer("jabber.ru"); // initial step returns nothing QByteArray response; - QVERIFY(client.respond(QByteArray(), response)); + QVERIFY(client->respond(QByteArray(), response)); QCOMPARE(response, QByteArray()); - QVERIFY(client.respond(QByteArray("nonce=\"2530347127\",qop=\"auth\",charset=utf-8,algorithm=md5-sess"), response)); + QVERIFY(client->respond(QByteArray("nonce=\"2530347127\",qop=\"auth\",charset=utf-8,algorithm=md5-sess"), response)); QCOMPARE(response, QByteArray("charset=utf-8,cnonce=\"AMzVG8Oibf+sVUCPPlWLR8lZQvbbJtJB9vJd+u3c6dw=\",digest-uri=\"xmpp/jabber.ru\",nc=00000001,nonce=2530347127,output=a61fbf4320577d74038b71a8546bc7ae,qop=auth,username=qxmpp1")); - QVERIFY(client.respond(QByteArray("rspauth=d92bf7f4331700c24799cbab364a14b7"), response)); + QVERIFY(client->respond(QByteArray("rspauth=d92bf7f4331700c24799cbab364a14b7"), response)); QCOMPARE(response, QByteArray()); // any further step is an error - QVERIFY(!client.respond(QByteArray(), response)); + QVERIFY(!client->respond(QByteArray(), response)); + + delete client; } void tst_QXmppSaslClient::testFacebook() { - QXmppSaslClientFacebook client; - client.setUsername("123456789012345"); - client.setPassword("abcdefghijlkmno"); - QCOMPARE(client.mechanism(), QLatin1String("X-FACEBOOK-PLATFORM")); + QXmppSaslClient *client = QXmppSaslClient::create("X-FACEBOOK-PLATFORM"); + QVERIFY(client != 0); + QCOMPARE(client->mechanism(), QLatin1String("X-FACEBOOK-PLATFORM")); + + client->setUsername("123456789012345"); + client->setPassword("abcdefghijlkmno"); // initial step returns nothing QByteArray response; - QVERIFY(client.respond(QByteArray(), response)); + QVERIFY(client->respond(QByteArray(), response)); QCOMPARE(response, QByteArray()); // challenge response - QVERIFY(client.respond(QByteArray("version=1&method=auth.xmpp_login&nonce=AA4EFEE16F2AB64B131EEFFE6EACDDB8"), response)); + QVERIFY(client->respond(QByteArray("version=1&method=auth.xmpp_login&nonce=AA4EFEE16F2AB64B131EEFFE6EACDDB8"), response)); QCOMPARE(response, QByteArray("access_token=123456789012345&api_key=abcdefghijlkmno&call_id=&method=auth.xmpp_login&nonce=AA4EFEE16F2AB64B131EEFFE6EACDDB8&v=1.0")); // any further step is an error - QVERIFY(!client.respond(QByteArray(), response)); + QVERIFY(!client->respond(QByteArray(), response)); + + delete client; } void tst_QXmppSaslClient::testPlain() { - QXmppSaslClientPlain client; - client.setUsername("foo"); - client.setPassword("bar"); - QCOMPARE(client.mechanism(), QLatin1String("PLAIN")); + QXmppSaslClient *client = QXmppSaslClient::create("PLAIN"); + QVERIFY(client != 0); + QCOMPARE(client->mechanism(), QLatin1String("PLAIN")); + + client->setUsername("foo"); + client->setPassword("bar"); // initial step returns data QByteArray response; - QVERIFY(client.respond(QByteArray(), response)); + QVERIFY(client->respond(QByteArray(), response)); QCOMPARE(response, QByteArray("\0foo\0bar", 8)); // any further step is an error - QVERIFY(!client.respond(QByteArray(), response)); -} + QVERIFY(!client->respond(QByteArray(), response)); + delete client; +} -- cgit v1.2.3