aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMelvin Keskin <melvo@olomono.de>2022-01-23 18:11:48 +0100
committerLinus Jahn <lnj@kaidan.im>2022-03-03 13:49:50 +0100
commitec1480a11ee69924712b3b1b10cde7fbf6ba1866 (patch)
tree9b6afbd3b3869fda4ccdded7859de743c607d5ca /tests
parent4f77a9d91d5841771d27821ced76c7c6801790f5 (diff)
downloadqxmpp-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.cpp10
-rw-r--r--tests/qxmppmessage/tst_qxmppmessage.cpp8
-rw-r--r--tests/qxmppstanza/tst_qxmppstanza.cpp32
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"