From 16aab0f3a65d4ba7c0fd7d33708a5c1ce2037b71 Mon Sep 17 00:00:00 2001 From: Melvin Keskin Date: Thu, 7 Apr 2022 19:58:47 +0200 Subject: tests: OmemoData: Add test for OmemoIq --- tests/qxmppomemodata/tst_qxmppomemodata.cpp | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) (limited to 'tests') 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 @@ -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( + "" + "" + "" + "V2FpdCwgd2hhdD8gQXJlIHlvdSBzZXJpb3VzPyBEaWQgeW91IHJlYWxseSBqdXN0IGdyYWIgeW91" + "ciBmYXZvdXJpdGUgYmFzZTY0IGRlY29kZXIganVzdCB0byBjaGVjayB0aGlzIGRvY3VtZW50IGZv" + "ciBoaWRkZW4gbWVzc2FnZXM/IFdoYXQgYXJlIHlvdSBzb21lIGtpbmQgb2YgbmVyZD8gU29tZSBn" + "ZWVrIHdpdGggYSBiaW5hcnkgd3Jpc3Qgd2F0Y2g/" + "" + "" + ""); + + const QByteArray xmlOmemoIq( + "" + "" + "
" + "" + "V2FpdCwgd2hhdD8gQXJlIHlvdSBzZXJpb3VzPyBEaWQgeW91IHJlYWxseSBqdXN0IGdyYWIgeW91" + "ciBmYXZvdXJpdGUgYmFzZTY0IGRlY29kZXIganVzdCB0byBjaGVjayB0aGlzIGRvY3VtZW50IGZv" + "ciBoaWRkZW4gbWVzc2FnZXM/IFdoYXQgYXJlIHlvdSBzb21lIGtpbmQgb2YgbmVyZD8gU29tZSBn" + "ZWVrIHdpdGggYSBiaW5hcnkgd3Jpc3Qgd2F0Y2g/" + "" + "" + ""); + + 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" -- cgit v1.2.3