aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-08-27 14:59:56 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-08-27 14:59:56 +0200
commite1f1fa9ae899d74a22fd16ea14e604a4befdc3b7 (patch)
tree66b4ccb2767382d2defcc841aa0afdc832702c8e
parentf2d25b0b25ceff37ce191e2fa502ca75352e122b (diff)
downloadqxmpp-e1f1fa9ae899d74a22fd16ea14e604a4befdc3b7.tar.gz
add more complete jingle IQ test
-rw-r--r--tests/qxmppjingleiq/tst_qxmppjingleiq.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/qxmppjingleiq/tst_qxmppjingleiq.cpp b/tests/qxmppjingleiq/tst_qxmppjingleiq.cpp
index bd856a9d..060f3340 100644
--- a/tests/qxmppjingleiq/tst_qxmppjingleiq.cpp
+++ b/tests/qxmppjingleiq/tst_qxmppjingleiq.cpp
@@ -31,6 +31,7 @@ class tst_QXmppJingleIq : public QObject
private slots:
void testCandidate();
+ void testRtpSession();
void testSession();
void testTerminate();
void testAudioPayloadType();
@@ -66,6 +67,67 @@ void tst_QXmppJingleIq::testCandidate()
serializePacket(candidate, xml);
};
+void tst_QXmppJingleIq::testRtpSession()
+{
+ const QByteArray xml(
+"<iq"
+ " id=\"ih28sx61\""
+ " 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=\"voice\">"
+ "<description xmlns=\"urn:xmpp:jingle:apps:rtp:1\" media=\"audio\">"
+ "<payload-type id=\"96\" name=\"speex\" clockrate=\"16000\"/>"
+ "<payload-type id=\"97\" name=\"speex\" clockrate=\"8000\"/>"
+ "<payload-type id=\"18\" name=\"G729\"/>"
+ "<payload-type id=\"0\" name=\"PCMU\"/>"
+ "<payload-type id=\"103\" name=\"L16\" channels=\"2\" clockrate=\"16000\"/>"
+ "<payload-type id=\"98\" name=\"x-ISAC\" clockrate=\"8000\"/>"
+ "</description>"
+ "<transport xmlns=\"urn:xmpp:jingle:transports:ice-udp:1\""
+ " ufrag=\"8hhy\""
+ " pwd=\"asd88fgpdd777uzjYhagZg\">"
+ "<candidate component=\"1\""
+ " foundation=\"1\""
+ " generation=\"0\""
+ " id=\"el0747fg11\""
+ " ip=\"10.0.1.1\""
+ " network=\"1\""
+ " port=\"8998\""
+ " priority=\"2130706431\""
+ " protocol=\"udp\""
+ " type=\"host\"/>"
+ "<candidate component=\"1\""
+ " foundation=\"2\""
+ " generation=\"0\""
+ " id=\"y3s2b30v3r\""
+ " ip=\"192.0.2.3\""
+ " network=\"1\""
+ " port=\"45664\""
+ " priority=\"1694498815\""
+ " protocol=\"udp\""
+ " type=\"srflx\"/>"
+ "</transport>"
+ "</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("voice"));
+ QCOMPARE(session.reason().text(), QString());
+ QCOMPARE(session.reason().type(), QXmppJingleIq::Reason::None);
+ serializePacket(session, xml);
+}
+
void tst_QXmppJingleIq::testSession()
{
const QByteArray xml(