diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-27 15:06:55 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-27 15:06:55 +0200 |
| commit | db2f84e966682c1072cd579baa9511906a276ab0 (patch) | |
| tree | 6554c194b2cf52e19e7940ed31f9c64c9d540569 /tests/rpc.cpp | |
| parent | 40c1ce264991447522e8296ad86a55ca5c3b81d1 (diff) | |
| download | qxmpp-db2f84e966682c1072cd579baa9511906a276ab0.tar.gz | |
start splitting tests
Diffstat (limited to 'tests/rpc.cpp')
| -rw-r--r-- | tests/rpc.cpp | 212 |
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); -} - |
