diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-10 08:31:00 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-10 08:31:00 +0000 |
| commit | d98bbdffd9f45ff8ecd1fece04cad2d93f5d0a9e (patch) | |
| tree | 1e371d69c010daf60dae5e04121a897394306115 /example | |
| parent | 064a65d8d2bde24369bb83d8393da1344035ad83 (diff) | |
| download | qxmpp-d98bbdffd9f45ff8ecd1fece04cad2d93f5d0a9e.tar.gz | |
parse/serialise XML-RPC faults
Diffstat (limited to 'example')
| -rw-r--r-- | example/tests/tests.cpp | 38 | ||||
| -rw-r--r-- | example/tests/tests.h | 1 |
2 files changed, 39 insertions, 0 deletions
diff --git a/example/tests/tests.cpp b/example/tests/tests.cpp index d233004b..1da51be5 100644 --- a/example/tests/tests.cpp +++ b/example/tests/tests.cpp @@ -464,10 +464,48 @@ void TestXmlRpc::testResponse() 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); +} + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); diff --git a/example/tests/tests.h b/example/tests/tests.h index 9dc1a01c..2294339f 100644 --- a/example/tests/tests.h +++ b/example/tests/tests.h @@ -77,4 +77,5 @@ private slots: void testInvoke(); void testResponse(); + void testResponseFault(); }; |
