diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-01-23 18:11:48 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-03-03 13:49:50 +0100 |
| commit | ec1480a11ee69924712b3b1b10cde7fbf6ba1866 (patch) | |
| tree | 9b6afbd3b3869fda4ccdded7859de743c607d5ca /tests | |
| parent | 4f77a9d91d5841771d27821ced76c7c6801790f5 (diff) | |
| download | qxmpp-ec1480a11ee69924712b3b1b10cde7fbf6ba1866.tar.gz | |
Add QXmppE2eeMetadata used by QXmppStanza
That class contains addtional data needed for end-to-end encryption purposes.
'senderKey' is moved from QXmppMessage to QXmppE2eeMetadata.
'sceTimestamp' is introduced.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qxmppatmmanager/tst_qxmppatmmanager.cpp | 10 | ||||
| -rw-r--r-- | tests/qxmppmessage/tst_qxmppmessage.cpp | 8 | ||||
| -rw-r--r-- | tests/qxmppstanza/tst_qxmppstanza.cpp | 32 |
3 files changed, 39 insertions, 11 deletions
diff --git a/tests/qxmppatmmanager/tst_qxmppatmmanager.cpp b/tests/qxmppatmmanager/tst_qxmppatmmanager.cpp index 4ff4e079..e8fd08a4 100644 --- a/tests/qxmppatmmanager/tst_qxmppatmmanager.cpp +++ b/tests/qxmppatmmanager/tst_qxmppatmmanager.cpp @@ -742,6 +742,9 @@ void tst_QXmppAtmManager::testHandleMessage_data() keyOwnerBob.setDistrustedKeys({ { QByteArray::fromBase64(QByteArrayLiteral("b3EsvoNBgUpiQD9KRHmosP/rR7T+3BA84MQw4N6eZmU=")) }, { QByteArray::fromBase64(QByteArrayLiteral("guRlZo0QVxX3TbzdhyOwzdlorG0Znndo/P9NsWtMkk4=")) } }); + QXmppE2eeMetadata e2eeMetadata; + e2eeMetadata.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("RwyI/3m9l4wgju9JduFxb5MEJvBNRDfPfo1Ewhl1DEI="))); + QList<QXmppTrustMessageKeyOwner> keyOwners; keyOwners << keyOwnerAlice << keyOwnerBob; @@ -752,7 +755,7 @@ void tst_QXmppAtmManager::testHandleMessage_data() QXmppMessage message; message.setFrom(m_client.configuration().jid()); - message.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("RwyI/3m9l4wgju9JduFxb5MEJvBNRDfPfo1Ewhl1DEI="))); + message.setE2eeMetadata(e2eeMetadata); message.setTrustMessageElement(trustMessageElement); QTest::newRow("carbonForOwnMessage") @@ -815,8 +818,9 @@ void tst_QXmppAtmManager::testHandleMessage_data() << true << true; + e2eeMetadata.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("qfNJsEMZ8jru0dS76DtYaTxZjiVQ5lpJWBiyaUj9UGU="))); message.setFrom(QStringLiteral("bob@example.com/notebook")); - message.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("qfNJsEMZ8jru0dS76DtYaTxZjiVQ5lpJWBiyaUj9UGU="))); + message.setE2eeMetadata(e2eeMetadata); QTest::newRow("senderKeyFromContactNotAuthenticated") << message @@ -838,7 +842,7 @@ void tst_QXmppAtmManager::testHandleMessage() QFETCH(bool, isSenderKeyAuthenticated); const auto senderJid = QXmppUtils::jidToBareJid(message.from()); - const auto senderKey = message.senderKey(); + const auto senderKey = message.e2eeMetadata().senderKey(); // Add the sender key in preparation for the test. if (areTrustDecisionsValid) { diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp index 2b1c0e1d..60a6562c 100644 --- a/tests/qxmppmessage/tst_qxmppmessage.cpp +++ b/tests/qxmppmessage/tst_qxmppmessage.cpp @@ -54,7 +54,6 @@ private slots: void testMixInvitation(); void testTrustMessageElement(); void testOmemoElement(); - void testSenderkey(); }; void tst_QXmppMessage::testBasic_data() @@ -1197,12 +1196,5 @@ void tst_QXmppMessage::testOmemoElement() serializePacket(message2, xmlOut2); } -void tst_QXmppMessage::testSenderkey() -{ - QXmppMessage message; - message.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ="))); - QCOMPARE(message.senderKey(), QByteArray::fromBase64(QByteArrayLiteral("aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ="))); -} - QTEST_MAIN(tst_QXmppMessage) #include "tst_qxmppmessage.moc" diff --git a/tests/qxmppstanza/tst_qxmppstanza.cpp b/tests/qxmppstanza/tst_qxmppstanza.cpp index cff33e43..98be3d63 100644 --- a/tests/qxmppstanza/tst_qxmppstanza.cpp +++ b/tests/qxmppstanza/tst_qxmppstanza.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2012 Jeremy Lainé <jeremy.laine@m4x.org> +// SPDX-FileCopyrightText: 2022 Melvin Keskin <melvo@olomono.de> // // SPDX-License-Identifier: LGPL-2.1-or-later @@ -7,6 +8,12 @@ #include "util.h" #include <QObject> +class QXmppStanzaStub : public QXmppStanza +{ +public: + void toXml(QXmlStreamWriter *writer) const override {}; +}; + class tst_QXmppStanza : public QObject { Q_OBJECT @@ -19,6 +26,9 @@ private slots: void testErrorCases(); void testErrorFileTooLarge(); void testErrorRetry(); + + void testSenderKey(); + void testSceTimestamp(); }; void tst_QXmppStanza::testExtendedAddress_data() @@ -372,5 +382,27 @@ void tst_QXmppStanza::testErrorRetry() QCOMPARE(error.retryDate(), QDateTime(QDate(1985, 10, 26), QTime(1, 35))); } +void tst_QXmppStanza::testSenderKey() +{ + QXmppStanzaStub stanza; + auto e2eeMetadata = stanza.e2eeMetadata(); + QVERIFY(e2eeMetadata.senderKey().isEmpty()); + e2eeMetadata.setSenderKey(QByteArray::fromBase64(QByteArrayLiteral("aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ="))); + stanza.setE2eeMetadata(e2eeMetadata); + e2eeMetadata = stanza.e2eeMetadata(); + QCOMPARE(e2eeMetadata.senderKey(), QByteArray::fromBase64(QByteArrayLiteral("aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ="))); +} + +void tst_QXmppStanza::testSceTimestamp() +{ + QXmppStanzaStub stanza; + auto e2eeMetadata = stanza.e2eeMetadata(); + QVERIFY(e2eeMetadata.sceTimestamp().isNull()); + e2eeMetadata.setSceTimestamp(QDateTime(QDate(2022, 01, 01), QTime())); + stanza.setE2eeMetadata(e2eeMetadata); + e2eeMetadata = stanza.e2eeMetadata(); + QCOMPARE(e2eeMetadata.sceTimestamp(), QDateTime(QDate(2022, 01, 01), QTime())); +} + QTEST_MAIN(tst_QXmppStanza) #include "tst_qxmppstanza.moc" |
