aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMelvin Keskin <melvo@olomono.de>2021-09-02 23:41:16 +0200
committerLinus Jahn <lnj@kaidan.im>2021-09-03 16:16:15 +0200
commit0623aa38f2ead734dddea4cbad899a868f01cb1e (patch)
treece6539732310386d2ba0faf7383c054a4690f3a2 /tests
parent12c63eddded9f02369bd4e569f62acfdd95cc723 (diff)
downloadqxmpp-0623aa38f2ead734dddea4cbad899a868f01cb1e.tar.gz
Add QXmppOmemoElement
Co-authored-by: Germán Márquez Mejía <mancho@olomono.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/qxmppmessage/tst_qxmppmessage.cpp84
-rw-r--r--tests/qxmppomemodata/tst_qxmppomemodata.cpp171
2 files changed, 255 insertions, 0 deletions
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 <optional>
@@ -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(
+ "<message id=\"send1\" to=\"juliet@capulet.lit\" from=\"romeo@montague.lit\" type=\"normal\">"
+ "<store xmlns=\"urn:xmpp:hints\"/>"
+ "<encrypted xmlns=\"urn:xmpp:omemo:1\">"
+ "<header sid=\"27183\">"
+ "<keys jid=\"juliet@capulet.lit\">"
+ "<key rid=\"31415\">Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK</key>"
+ "</keys>"
+ "<keys jid=\"romeo@montague.lit\">"
+ "<key rid=\"1337\">PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K</key>"
+ "<key rid=\"12321\" kex=\"true\">a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK</key>"
+ "</keys>"
+ "</header>"
+ "<payload>"
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg=="
+ "</payload>"
+ "</encrypted>"
+ "</message>"));
+
+ // 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(
+ "<message id=\"send1\" to=\"juliet@capulet.lit\" from=\"romeo@montague.lit\" type=\"normal\">"
+ "<store xmlns=\"urn:xmpp:hints\"/>"
+ "<encrypted xmlns=\"urn:xmpp:omemo:1\">"
+ "<header sid=\"27183\">"
+ "<keys jid=\"juliet@capulet.lit\">"
+ "<key rid=\"31415\">Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK</key>"
+ "</keys>"
+ "<keys jid=\"romeo@montague.lit\">"
+ "<key rid=\"12321\" kex=\"true\">a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK</key>"
+ "<key rid=\"1337\">PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K</key>"
+ "</keys>"
+ "</header>"
+ "<payload>"
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg=="
+ "</payload>"
+ "</encrypted>"
+ "</message>"));
+
+ const QByteArray xmlOut2(QByteArrayLiteral(
+ "<message type=\"chat\">"
+ "<encrypted xmlns=\"urn:xmpp:omemo:1\">"
+ "<header sid=\"0\"/>"
+ "<payload/>"
+ "</encrypted>"
+ "</message>"));
+
+ 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"
diff --git a/tests/qxmppomemodata/tst_qxmppomemodata.cpp b/tests/qxmppomemodata/tst_qxmppomemodata.cpp
index 8a583622..d53c7220 100644
--- a/tests/qxmppomemodata/tst_qxmppomemodata.cpp
+++ b/tests/qxmppomemodata/tst_qxmppomemodata.cpp
@@ -25,6 +25,7 @@
#include "QXmppOmemoDeviceBundle.h"
#include "QXmppOmemoDeviceElement.h"
#include "QXmppOmemoDeviceList.h"
+#include "QXmppOmemoElement.h"
#include "QXmppOmemoEnvelope.h"
#include "util.h"
@@ -49,6 +50,9 @@ private slots:
void testIsOmemoEnvelope();
void testOmemoEnvelope_data();
void testOmemoEnvelope();
+ void testIsOmemoElement_data();
+ void testIsOmemoElement();
+ void testOmemoElement();
};
void tst_QXmppOmemoData::testIsOmemoDeviceElement_data()
@@ -310,5 +314,172 @@ void tst_QXmppOmemoData::testOmemoEnvelope()
serializePacket(omemoEnvelope2, xml);
}
+void tst_QXmppOmemoData::testIsOmemoElement_data()
+{
+ QTest::addColumn<QByteArray>("xml");
+ QTest::addColumn<bool>("isValid");
+
+ QTest::newRow("valid")
+ << QByteArrayLiteral("<encrypted xmlns=\"urn:xmpp:omemo:1\"/>")
+ << true;
+ QTest::newRow("invalidTag")
+ << QByteArrayLiteral("<invalid xmlns=\"urn:xmpp:omemo:1\"/>")
+ << false;
+ QTest::newRow("invalidNamespace")
+ << QByteArrayLiteral("<encrypted xmlns=\"invalid\"/>")
+ << false;
+}
+
+void tst_QXmppOmemoData::testIsOmemoElement()
+{
+ QFETCH(QByteArray, xml);
+ QFETCH(bool, isValid);
+
+ QDomDocument doc;
+ QCOMPARE(doc.setContent(xml, true), true);
+ const QDomElement element = doc.documentElement();
+ QCOMPARE(QXmppOmemoElement::isOmemoElement(element), isValid);
+}
+
+void tst_QXmppOmemoData::testOmemoElement()
+{
+ const QByteArray xmlIn(QByteArrayLiteral(
+ "<encrypted xmlns=\"urn:xmpp:omemo:1\">"
+ "<header sid=\"27183\">"
+ "<keys jid=\"juliet@capulet.lit\">"
+ "<key rid=\"31415\">Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK</key>"
+ "</keys>"
+ "<keys jid=\"romeo@montague.lit\">"
+ "<key rid=\"1337\">PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K</key>"
+ "<key rid=\"12321\" kex=\"true\">a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK</key>"
+ "</keys>"
+ "</header>"
+ "<payload>"
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg=="
+ "</payload>"
+ "</encrypted>"));
+
+ // 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 xmlOut(QByteArrayLiteral(
+ "<encrypted xmlns=\"urn:xmpp:omemo:1\">"
+ "<header sid=\"27183\">"
+ "<keys jid=\"juliet@capulet.lit\">"
+ "<key rid=\"31415\">Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK</key>"
+ "</keys>"
+ "<keys jid=\"romeo@montague.lit\">"
+ "<key rid=\"12321\" kex=\"true\">a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK</key>"
+ "<key rid=\"1337\">PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K</key>"
+ "</keys>"
+ "</header>"
+ "<payload>"
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg=="
+ "</payload>"
+ "</encrypted>"));
+
+ QXmppOmemoElement omemoElement1;
+ parsePacket(omemoElement1, xmlIn);
+
+ QCOMPARE(omemoElement1.senderDeviceId(), uint32_t(27183));
+
+ const auto omemoEnvelope1 = omemoElement1.searchEnvelope(("juliet@capulet.lit"), 31415);
+ QVERIFY(omemoEnvelope1);
+ QCOMPARE(omemoEnvelope1->recipientDeviceId(), uint32_t(31415));
+ QVERIFY(!omemoEnvelope1->isUsedForKeyExchange());
+ QCOMPARE(omemoEnvelope1->data().toBase64(), QByteArrayLiteral("Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK"));
+
+ const auto omemoEnvelope2 = omemoElement1.searchEnvelope(QStringLiteral("romeo@montague.lit"), 12321);
+ QVERIFY(omemoEnvelope2);
+ QCOMPARE(omemoEnvelope2->recipientDeviceId(), uint32_t(12321));
+ QVERIFY(omemoEnvelope2->isUsedForKeyExchange());
+ QCOMPARE(omemoEnvelope2->data().toBase64(), QByteArrayLiteral("a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK"));
+
+ const auto omemoEnvelope3 = omemoElement1.searchEnvelope(QStringLiteral("romeo@montague.lit"), 1337);
+ QVERIFY(omemoEnvelope3);
+ QCOMPARE(omemoEnvelope3->recipientDeviceId(), uint32_t(1337));
+ QVERIFY(!omemoEnvelope3->isUsedForKeyExchange());
+ QCOMPARE(omemoEnvelope3->data().toBase64(), QByteArrayLiteral("PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K"));
+
+ QCOMPARE(
+ omemoElement1.payload().toBase64(),
+ QByteArrayLiteral(
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg=="));
+
+ serializePacket(omemoElement1, xmlOut);
+
+ QXmppOmemoElement omemoElement2;
+ omemoElement2.setSenderDeviceId(27183);
+ omemoElement2.setPayload(
+ QByteArray::fromBase64(QByteArrayLiteral(
+ "Vk9NPi99bHFWKmErOUVTTkAwW1VcZjJvPlElZWUoOk90Kz03YUF7OHc/WjpaQz9ieFdsZjBsSH1w"
+ "R1d2Zzt1bEFAMSZqP0dVJj9oaygmcWRPKGU3Kjc8aV4sJSlpSXBqaENCT2NUVFFmaFNXbCxQaHsj"
+ "OnthQDJyUW9qNjwoZCtpLzpzLGpbKlJRY1NtMVVeRzdsOWRQciNnXV9tajEyWztnKiEhRHs5K2hX"
+ "ZFloaEZtUENTQWIxM0tcVkxIVWY+aGYoeEk/SldZcyNlTzk2Q2NHW1NqWEhEPmhPXl1WZV5xNE9p"
+ "WDZuck8zPGE2Rk4vKWJXd3F1YV0mSXA/NVNGNEQsK18mTlJNbl9WcGJXcVE5e1E0dlFAPVQ8THM+"
+ "QjdcdjZSNDVJclo0QVo6cDBMQDtVcUFnNDpcd1ZXSkcsXz82QjhXLl9NSVBFdipeOmF4NC5YKnNx"
+ "K2dxMGx1MDkrdnJhWTovUjk1ZCZUUSNTKHIvJUgmTyE4bjJbZlZAPl9IZi8ucSM7a2FAQWUzXUJO"
+ "LmpALilFWGRqYlh1Siw2MzJqbipsWlZRMG91MGVQVlExLCFeayMuM3dfSn1ONiU8LixZWSx3YUlV"
+ "bGtIcnVWP2Y0LGwvTzFIQy8qZVVBSVZLS1peSW0xNTRPcXRDIXBkXnhmWyNxQFxHQ19cYXVAO214"
+ "RWw1P0AmIUAlQjk7ZFBWXW1RbWxoTFE+cUxMbk5UCg==")));
+
+ QXmppOmemoEnvelope omemoEnvelope4;
+ omemoEnvelope4.setRecipientDeviceId(31415);
+ omemoEnvelope4.setData(QByteArray::fromBase64("Oy5TSG9vVVV4Wz9wUkUvI1lUXiVLIU5bbGIsUV0wRngK"));
+ omemoElement2.addEnvelope(QStringLiteral("juliet@capulet.lit"), omemoEnvelope4);
+
+ QXmppOmemoEnvelope omemoEnvelope5;
+ omemoEnvelope5.setRecipientDeviceId(12321);
+ omemoEnvelope5.setIsUsedForKeyExchange(true);
+ omemoEnvelope5.setData(QByteArray::fromBase64("a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK"));
+ omemoElement2.addEnvelope(QStringLiteral("romeo@montague.lit"), omemoEnvelope5);
+
+ QXmppOmemoEnvelope omemoEnvelope6;
+ omemoEnvelope6.setRecipientDeviceId(1337);
+ omemoEnvelope6.setData(QByteArray::fromBase64("PTEoSk91VnRZSXBzcFlPXy4jZ3NKcGVZZ2d3YVJbVj8K"));
+ omemoElement2.addEnvelope(QStringLiteral("romeo@montague.lit"), omemoEnvelope6);
+
+ QCOMPARE(omemoElement2.senderDeviceId(), uint32_t(27183));
+
+ const auto omemoEnvelope7 = omemoElement2.searchEnvelope(QStringLiteral("romeo@montague.lit"), 12321);
+ QVERIFY(omemoEnvelope7);
+ QCOMPARE(omemoEnvelope7->recipientDeviceId(), uint32_t(12321));
+ QVERIFY(omemoEnvelope7->isUsedForKeyExchange());
+ QCOMPARE(omemoEnvelope7->data().toBase64(), QByteArrayLiteral("a012U0R9WixWKUYhYipucnZOWG06akFOR3Q1NGNOOmUK"));
+
+ const auto omemoEnvelope8 = omemoElement2.searchEnvelope(QStringLiteral("juliet@capulet.lit"), 31415);
+ QVERIFY(omemoEnvelope8);
+ QVERIFY(!omemoEnvelope8->isUsedForKeyExchange());
+
+ serializePacket(omemoElement2, xmlIn);
+}
+
QTEST_MAIN(tst_QXmppOmemoData)
#include "tst_qxmppomemodata.moc"