aboutsummaryrefslogtreecommitdiff
path: root/source/tests.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-07-16 08:53:42 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-07-16 08:53:42 +0000
commit946249abbdd477ac7cfbdb1e0bfbcd34b7c93bb8 (patch)
tree322baa3008f2273c4585603ebdcaddd55a809cb5 /source/tests.cpp
parent1b596e06fac7e1ec96cc5f9f387b936836f2c601 (diff)
downloadqxmpp-946249abbdd477ac7cfbdb1e0bfbcd34b7c93bb8.tar.gz
add tests for Jingle IQs
Diffstat (limited to 'source/tests.cpp')
-rw-r--r--source/tests.cpp96
1 files changed, 96 insertions, 0 deletions
diff --git a/source/tests.cpp b/source/tests.cpp
index f2d91b5b..1f49b274 100644
--- a/source/tests.cpp
+++ b/source/tests.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include "QXmppBind.h"
+#include "QXmppJingleIq.h"
#include "QXmppMessage.h"
#include "QXmppPresence.h"
#include "QXmppSession.h"
@@ -227,6 +228,98 @@ void TestPackets::testSession()
serializePacket(session, xml);
}
+void TestJingle::testSession()
+{
+ const QByteArray xml(
+ "<iq"
+ " id=\"zid615d9\""
+ " to=\"juliet@capulet.lit/balcony\""
+ " from=\"romeo@montague.lit/orchard\""
+ " type=\"set\">"
+ "<jingle xmlns=\"urn:xmpp:jingle:1\""
+ " action=\"session-initiate\""
+ " initiator=\"romeo@montague.lit/orchard\""
+ " sid=\"a73sjjvkla37jfea\">"
+ "<content creator=\"initiator\" name=\"this-is-a-stub\">"
+ "<description xmlns=\"urn:xmpp:jingle:apps:stub:0\"/>"
+ "<transport xmlns=\"urn:xmpp:jingle:transports:stub:0\"/>"
+ "</content>"
+ "</jingle>"
+ "</iq>");
+
+ QXmppJingleIq session;
+ parsePacket(session, xml);
+ QCOMPARE(session.action(), QXmppJingleIq::SessionInitiate);
+ QCOMPARE(session.initiator(), QLatin1String("romeo@montague.lit/orchard"));
+ QCOMPARE(session.sid(), QLatin1String("a73sjjvkla37jfea"));
+ QCOMPARE(session.content().creator(), QLatin1String("initiator"));
+ QCOMPARE(session.content().name(), QLatin1String("this-is-a-stub"));
+ QCOMPARE(session.reason().text(), QString());
+ QCOMPARE(session.reason().type(), QXmppJingleIq::Reason::None);
+ serializePacket(session, xml);
+}
+
+void TestJingle::testTerminate()
+{
+ const QByteArray xml(
+ "<iq"
+ " id=\"le71fa63\""
+ " to=\"romeo@montague.lit/orchard\""
+ " from=\"juliet@capulet.lit/balcony\""
+ " type=\"set\">"
+ "<jingle xmlns=\"urn:xmpp:jingle:1\""
+ " action=\"session-terminate\""
+ " sid=\"a73sjjvkla37jfea\">"
+ "<reason>"
+ "<success/>"
+ "</reason>"
+ "</jingle>"
+ "</iq>");
+
+ QXmppJingleIq session;
+ parsePacket(session, xml);
+ QCOMPARE(session.action(), QXmppJingleIq::SessionTerminate);
+ QCOMPARE(session.initiator(), QString());
+ QCOMPARE(session.sid(), QLatin1String("a73sjjvkla37jfea"));
+ QCOMPARE(session.reason().text(), QString());
+ QCOMPARE(session.reason().type(), QXmppJingleIq::Reason::Success);
+ serializePacket(session, xml);
+}
+
+void TestJingle::testPayloadType()
+{
+ const QByteArray xml("<payload-type id=\"103\" name=\"L16\" channels=\"2\" clockrate=\"16000\"/>");
+ QXmppJinglePayloadType payload;
+ parsePacket(payload, xml);
+ QCOMPARE(payload.id(), static_cast<unsigned char>(103));
+ QCOMPARE(payload.name(), QLatin1String("L16"));
+ QCOMPARE(payload.channels(), static_cast<unsigned char>(2));
+ QCOMPARE(payload.clockrate(), 16000u);
+ serializePacket(payload, xml);
+}
+
+void TestJingle::testRinging()
+{
+ const QByteArray xml(
+ "<iq"
+ " id=\"tgr515bt\""
+ " to=\"romeo@montague.lit/orchard\""
+ " from=\"juliet@capulet.lit/balcony\""
+ " type=\"set\">"
+ "<jingle xmlns=\"urn:xmpp:jingle:1\""
+ " action=\"session-info\""
+ " initiator=\"romeo@montague.lit/orchard\""
+ " sid=\"a73sjjvkla37jfea\">"
+ "<ringing xmlns=\"urn:xmpp:jingle:apps:rtp:info:1\"/>"
+ "</jingle>"
+ "</iq>");
+
+ QXmppJingleIq iq;
+ parsePacket(iq, xml);
+ QCOMPARE(iq.ringing(), true);
+ serializePacket(iq, xml);
+}
+
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
@@ -240,6 +333,9 @@ int main(int argc, char *argv[])
TestPackets testPackets;
errors += QTest::qExec(&testPackets);
+ TestJingle testJingle;
+ errors += QTest::qExec(&testJingle);
+
if (errors)
{
qWarning() << "Total failed tests:" << errors;