From 0623aa38f2ead734dddea4cbad899a868f01cb1e Mon Sep 17 00:00:00 2001 From: Melvin Keskin Date: Thu, 2 Sep 2021 23:41:16 +0200 Subject: Add QXmppOmemoElement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Germán Márquez Mejía --- tests/qxmppmessage/tst_qxmppmessage.cpp | 84 +++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) (limited to 'tests/qxmppmessage/tst_qxmppmessage.cpp') diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp index 3b9f4208..fe3340d8 100644 --- a/tests/qxmppmessage/tst_qxmppmessage.cpp +++ b/tests/qxmppmessage/tst_qxmppmessage.cpp @@ -4,6 +4,8 @@ * Authors: * Jeremy Lainé * Manjeet Dahiya + * Germán Márquez Mejía + * Melvin Keskin * * Source: * https://github.com/qxmpp-project/qxmpp @@ -26,6 +28,7 @@ #include "QXmppBitsOfBinaryDataList.h" #include "QXmppMessage.h" #include "QXmppMixInvitation.h" +#include "QXmppOmemoElement.h" #include "QXmppTrustMessageElement.h" #include @@ -69,6 +72,7 @@ private slots: void testSlashMe(); void testMixInvitation(); void testTrustMessageElement(); + void testOmemoElement(); }; void tst_QXmppMessage::testBasic_data() @@ -1131,5 +1135,85 @@ void tst_QXmppMessage::testTrustMessageElement() QVERIFY(message2.trustMessageElement()); } +void tst_QXmppMessage::testOmemoElement() +{ + const QByteArray xmlIn(QByteArrayLiteral( + "" + "" + "" + "
" + "" + "Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK" + "" + "" + "PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K" + "a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK" + "" + "
" + "" + "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w" + "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj" + "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX" + "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p" + "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+" + "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx" + "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO" + "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV" + "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214" + "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg==" + "" + "
" + "
")); + + // An OMEMO element having its OMEMO envelopes sorted in reverse order is + // needed since they are serialized in the reverse order in which they are + // deserialized. + const QByteArray xmlOut1(QByteArrayLiteral( + "" + "" + "" + "
" + "" + "Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK" + "" + "" + "a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK" + "PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K" + "" + "
" + "" + "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w" + "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj" + "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX" + "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p" + "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+" + "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx" + "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO" + "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV" + "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214" + "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg==" + "" + "
" + "
")); + + const QByteArray xmlOut2(QByteArrayLiteral( + "" + "" + "
" + "" + "" + "")); + + QXmppMessage message1; + parsePacket(message1, xmlIn); + QVERIFY(message1.omemoElement()); + serializePacket(message1, xmlOut1); + + QXmppMessage message2; + message2.setOmemoElement(QXmppOmemoElement()); + QVERIFY(message2.omemoElement()); + serializePacket(message2, xmlOut2); +} + QTEST_MAIN(tst_QXmppMessage) #include "tst_qxmppmessage.moc" -- cgit v1.2.3