diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-04-07 19:58:47 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-04-08 18:06:45 +0200 |
| commit | 16aab0f3a65d4ba7c0fd7d33708a5c1ce2037b71 (patch) | |
| tree | bbc7cdf82eae5fc330fb2bc879f66ff2073cb054 /tests | |
| parent | 182261afbb1e20ea0e6a2c92ad1c3ab9380a2a40 (diff) | |
| download | qxmpp-16aab0f3a65d4ba7c0fd7d33708a5c1ce2037b71.tar.gz | |
tests: OmemoData: Add test for OmemoIq
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qxmppomemodata/tst_qxmppomemodata.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/qxmppomemodata/tst_qxmppomemodata.cpp b/tests/qxmppomemodata/tst_qxmppomemodata.cpp index 6d508a1a..dd4ef309 100644 --- a/tests/qxmppomemodata/tst_qxmppomemodata.cpp +++ b/tests/qxmppomemodata/tst_qxmppomemodata.cpp @@ -9,6 +9,7 @@ #include "QXmppOmemoDeviceList_p.h" #include "QXmppOmemoElement_p.h" #include "QXmppOmemoEnvelope_p.h" +#include "QXmppOmemoIq_p.h" #include "util.h" #include <QObject> @@ -62,6 +63,7 @@ private slots: void testIsOmemoElement(); void testOmemoElement(); void testMessageOmemoElement(); + void testOmemoIq(); }; void tst_QXmppOmemoData::testIsOmemoDeviceElement_data() @@ -603,5 +605,64 @@ void tst_QXmppOmemoData::testMessageOmemoElement() serializePacket(message2, xmlOut2); } +void tst_QXmppOmemoData::testOmemoIq() +{ + const QByteArray xmlOtherIq( + "<iq id=\"qxmpp2\" type=\"get\">" + "<encrypted xmlns=\"urn:xmpp:encryption:stub:sce:1\">" + "<payload>" + "V2FpdCwgd2hhdD8gQXJlIHlvdSBzZXJpb3VzPyBEaWQgeW91IHJlYWxseSBqdXN0IGdyYWIgeW91" + "ciBmYXZvdXJpdGUgYmFzZTY0IGRlY29kZXIganVzdCB0byBjaGVjayB0aGlzIGRvY3VtZW50IGZv" + "ciBoaWRkZW4gbWVzc2FnZXM/IFdoYXQgYXJlIHlvdSBzb21lIGtpbmQgb2YgbmVyZD8gU29tZSBn" + "ZWVrIHdpdGggYSBiaW5hcnkgd3Jpc3Qgd2F0Y2g/" + "</payload>" + "</encrypted>" + "</iq>"); + + const QByteArray xmlOmemoIq( + "<iq id=\"qxmpp2\" type=\"get\">" + "<encrypted xmlns=\"urn:xmpp:omemo:2\">" + "<header sid=\"27183\"/>" + "<payload>" + "V2FpdCwgd2hhdD8gQXJlIHlvdSBzZXJpb3VzPyBEaWQgeW91IHJlYWxseSBqdXN0IGdyYWIgeW91" + "ciBmYXZvdXJpdGUgYmFzZTY0IGRlY29kZXIganVzdCB0byBjaGVjayB0aGlzIGRvY3VtZW50IGZv" + "ciBoaWRkZW4gbWVzc2FnZXM/IFdoYXQgYXJlIHlvdSBzb21lIGtpbmQgb2YgbmVyZD8gU29tZSBn" + "ZWVrIHdpdGggYSBiaW5hcnkgd3Jpc3Qgd2F0Y2g/" + "</payload>" + "</encrypted>" + "</iq>"); + + const QByteArray omemoPayload( + "V2FpdCwgd2hhdD8gQXJlIHlvdSBzZXJpb3VzPyBEaWQgeW91IHJlYWxseSBqdXN0IGdyYWIgeW91" + "ciBmYXZvdXJpdGUgYmFzZTY0IGRlY29kZXIganVzdCB0byBjaGVjayB0aGlzIGRvY3VtZW50IGZv" + "ciBoaWRkZW4gbWVzc2FnZXM/IFdoYXQgYXJlIHlvdSBzb21lIGtpbmQgb2YgbmVyZD8gU29tZSBn" + "ZWVrIHdpdGggYSBiaW5hcnkgd3Jpc3Qgd2F0Y2g/"); + + QDomDocument doc; + doc.setContent(xmlOtherIq, true); + QDomElement element = doc.documentElement(); + QVERIFY(!QXmppOmemoIq::isOmemoIq(element)); + + doc.setContent(xmlOmemoIq, true); + element = doc.documentElement(); + QVERIFY(QXmppOmemoIq::isOmemoIq(element)); + + QXmppOmemoIq omemoIq1; + QVERIFY(omemoIq1.omemoElement().payload().isEmpty()); + + parsePacket(omemoIq1, xmlOmemoIq); + QCOMPARE(omemoIq1.omemoElement().payload(), QByteArray::fromBase64(omemoPayload)); + serializePacket(omemoIq1, xmlOmemoIq); + + QXmppOmemoElement omemoElement; + omemoElement.setSenderDeviceId(27183); + omemoElement.setPayload(QByteArray::fromBase64(omemoPayload)); + + QXmppOmemoIq omemoIq2; + omemoIq2.setOmemoElement(omemoElement); + QCOMPARE(omemoIq1.omemoElement().payload(), QByteArray::fromBase64(omemoPayload)); + serializePacket(omemoIq2, xmlOmemoIq); +} + QTEST_MAIN(tst_QXmppOmemoData) #include "tst_qxmppomemodata.moc" |
