aboutsummaryrefslogtreecommitdiff
path: root/tests/rpc.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-09-27 15:06:55 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-09-27 15:06:55 +0200
commitdb2f84e966682c1072cd579baa9511906a276ab0 (patch)
tree6554c194b2cf52e19e7940ed31f9c64c9d540569 /tests/rpc.cpp
parent40c1ce264991447522e8296ad86a55ca5c3b81d1 (diff)
downloadqxmpp-db2f84e966682c1072cd579baa9511906a276ab0.tar.gz
start splitting tests
Diffstat (limited to 'tests/rpc.cpp')
-rw-r--r--tests/rpc.cpp212
1 files changed, 0 insertions, 212 deletions
diff --git a/tests/rpc.cpp b/tests/rpc.cpp
deleted file mode 100644
index a5136f65..00000000
--- a/tests/rpc.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2008-2012 The QXmpp developers
- *
- * Author:
- * Jeremy Lainé
- *
- * Source:
- * http://code.google.com/p/qxmpp
- *
- * This file is a part of QXmpp library.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- */
-
-#include "QXmppRpcIq.h"
-
-#include "rpc.h"
-#include "tests.h"
-
-static void checkVariant(const QVariant &value, const QByteArray &xml)
-{
- // serialise
- QBuffer buffer;
- buffer.open(QIODevice::ReadWrite);
- QXmlStreamWriter writer(&buffer);
- QXmppRpcMarshaller::marshall(&writer, value);
- qDebug() << "expect " << xml;
- qDebug() << "writing" << buffer.data();
- QCOMPARE(buffer.data(), xml);
-
- // parse
- QDomDocument doc;
- QCOMPARE(doc.setContent(xml, true), true);
- QDomElement element = doc.documentElement();
- QStringList errors;
- QVariant test = QXmppRpcMarshaller::demarshall(element, errors);
- if (!errors.isEmpty())
- qDebug() << errors;
- QCOMPARE(errors, QStringList());
- QCOMPARE(test, value);
-}
-
-void TestXmlRpc::testBase64()
-{
- checkVariant(QByteArray("\0\1\2\3", 4),
- QByteArray("<value><base64>AAECAw==</base64></value>"));
-}
-
-void TestXmlRpc::testBool()
-{
- checkVariant(false,
- QByteArray("<value><boolean>0</boolean></value>"));
- checkVariant(true,
- QByteArray("<value><boolean>1</boolean></value>"));
-}
-
-void TestXmlRpc::testDateTime()
-{
- checkVariant(QDateTime(QDate(1998, 7, 17), QTime(14, 8, 55)),
- QByteArray("<value><dateTime.iso8601>1998-07-17T14:08:55</dateTime.iso8601></value>"));
-}
-
-void TestXmlRpc::testDouble()
-{
- checkVariant(double(-12.214),
- QByteArray("<value><double>-12.214</double></value>"));
-}
-
-void TestXmlRpc::testInt()
-{
- checkVariant(int(-12),
- QByteArray("<value><i4>-12</i4></value>"));
-}
-
-void TestXmlRpc::testNil()
-{
- checkVariant(QVariant(),
- QByteArray("<value><nil/></value>"));
-}
-
-void TestXmlRpc::testString()
-{
- checkVariant(QString("hello world"),
- QByteArray("<value><string>hello world</string></value>"));
-}
-
-void TestXmlRpc::testArray()
-{
- checkVariant(QVariantList() << QString("hello world") << double(-12.214),
- QByteArray("<value><array><data>"
- "<value><string>hello world</string></value>"
- "<value><double>-12.214</double></value>"
- "</data></array></value>"));
-}
-
-void TestXmlRpc::testStruct()
-{
- QMap<QString, QVariant> map;
- map["bar"] = QString("hello world");
- map["foo"] = double(-12.214);
- checkVariant(map,
- QByteArray("<value><struct>"
- "<member>"
- "<name>bar</name>"
- "<value><string>hello world</string></value>"
- "</member>"
- "<member>"
- "<name>foo</name>"
- "<value><double>-12.214</double></value>"
- "</member>"
- "</struct></value>"));
-}
-
-void TestXmlRpc::testInvoke()
-{
- const QByteArray xml(
- "<iq"
- " id=\"rpc1\""
- " to=\"responder@company-a.com/jrpc-server\""
- " from=\"requester@company-b.com/jrpc-client\""
- " type=\"set\">"
- "<query xmlns=\"jabber:iq:rpc\">"
- "<methodCall>"
- "<methodName>examples.getStateName</methodName>"
- "<params>"
- "<param>"
- "<value><i4>6</i4></value>"
- "</param>"
- "</params>"
- "</methodCall>"
- "</query>"
- "</iq>");
-
- QXmppRpcInvokeIq iq;
- parsePacket(iq, xml);
- QCOMPARE(iq.method(), QLatin1String("examples.getStateName"));
- QCOMPARE(iq.arguments(), QVariantList() << int(6));
- serializePacket(iq, xml);
-}
-
-void TestXmlRpc::testResponse()
-{
- const QByteArray xml(
- "<iq"
- " id=\"rpc1\""
- " to=\"requester@company-b.com/jrpc-client\""
- " from=\"responder@company-a.com/jrpc-server\""
- " type=\"result\">"
- "<query xmlns=\"jabber:iq:rpc\">"
- "<methodResponse>"
- "<params>"
- "<param>"
- "<value><string>Colorado</string></value>"
- "</param>"
- "</params>"
- "</methodResponse>"
- "</query>"
- "</iq>");
-
- QXmppRpcResponseIq iq;
- parsePacket(iq, xml);
- QCOMPARE(iq.faultCode(), 0);
- QCOMPARE(iq.faultString(), QString());
- QCOMPARE(iq.values(), QVariantList() << QString("Colorado"));
- serializePacket(iq, xml);
-}
-
-void TestXmlRpc::testResponseFault()
-{
- const QByteArray xml(
- "<iq"
- " id=\"rpc1\""
- " to=\"requester@company-b.com/jrpc-client\""
- " from=\"responder@company-a.com/jrpc-server\""
- " type=\"result\">"
- "<query xmlns=\"jabber:iq:rpc\">"
- "<methodResponse>"
- "<fault>"
- "<value>"
- "<struct>"
- "<member>"
- "<name>faultCode</name>"
- "<value><i4>404</i4></value>"
- "</member>"
- "<member>"
- "<name>faultString</name>"
- "<value><string>Not found</string></value>"
- "</member>"
- "</struct>"
- "</value>"
- "</fault>"
- "</methodResponse>"
- "</query>"
- "</iq>");
-
- QXmppRpcResponseIq iq;
- parsePacket(iq, xml);
- QCOMPARE(iq.faultCode(), 404);
- QCOMPARE(iq.faultString(), QLatin1String("Not found"));
- QCOMPARE(iq.values(), QVariantList());
- serializePacket(iq, xml);
-}
-