aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMelvin Keskin <melvo@olomono.de>2021-06-30 17:38:47 +0200
committerLinus Jahn <lnj@kaidan.im>2021-07-06 22:35:53 +0200
commit0b947c682c27091dd4afd5900d8e339175e1aba0 (patch)
treed880db35de8d3eaefb01ead0043b07901c5cda50 /tests
parent92427f63b3458fac76f64f2993db81d8c4c5d84c (diff)
downloadqxmpp-0b947c682c27091dd4afd5900d8e339175e1aba0.tar.gz
Add QXmppTrustMessageElement
Diffstat (limited to 'tests')
-rw-r--r--tests/qxmppmessage/tst_qxmppmessage.cpp30
-rw-r--r--tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp70
2 files changed, 100 insertions, 0 deletions
diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp
index 42255c57..93ab7722 100644
--- a/tests/qxmppmessage/tst_qxmppmessage.cpp
+++ b/tests/qxmppmessage/tst_qxmppmessage.cpp
@@ -26,6 +26,7 @@
#include "QXmppBitsOfBinaryDataList.h"
#include "QXmppMessage.h"
#include "QXmppMixInvitation.h"
+#include "QXmppTrustMessageElement.h"
#include <optional>
@@ -67,6 +68,7 @@ private slots:
void testSlashMe_data();
void testSlashMe();
void testMixInvitation();
+ void testTrustMessageElement();
};
void tst_QXmppMessage::testBasic_data()
@@ -1101,5 +1103,33 @@ void tst_QXmppMessage::testMixInvitation()
serializePacket(message, xml);
}
+void tst_QXmppMessage::testTrustMessageElement()
+{
+ const QByteArray xml(
+ "<message id=\"1\" to=\"alice@example.org/\" from=\"alice@example.org/A2\" type=\"chat\">"
+ "<store xmlns=\"urn:xmpp:hints\"/>"
+ "<trust-message xmlns=\"urn:xmpp:tm:0\" usage=\"urn:xmpp:atm:1\" encryption=\"urn:xmpp:omemo:1\">"
+ "<key-owner jid=\"alice@example.org\">"
+ "<trust>6850019d7ed0feb6d3823072498ceb4f616c6025586f8f666dc6b9c81ef7e0a4</trust>"
+ "<trust>221a4f8e228b72182b006e5ca527d3bddccf8d9e6feaf4ce96e1c451e8648020</trust>"
+ "</key-owner>"
+ "<key-owner jid=\"bob@example.com\">"
+ "<trust>623548d3835c6d33ef5cb680f7944ef381cf712bf23a0119dabe5c4f252cd02f</trust>"
+ "<distrust>b423f5088de9a924d51b31581723d850c7cc67d0a4fe6b267c3d301ff56d2413</distrust>"
+ "<distrust>d9f849b6b828309c5f2c8df4f38fd891887da5aaa24a22c50d52f69b4a80817e</distrust>"
+ "</key-owner>"
+ "</trust-message>"
+ "</message>");
+
+ QXmppMessage message1;
+ parsePacket(message1, xml);
+ QVERIFY(message1.trustMessageElement());
+ serializePacket(message1, xml);
+
+ QXmppMessage message2;
+ message2.setTrustMessageElement(QXmppTrustMessageElement());
+ QVERIFY(message2.trustMessageElement());
+}
+
QTEST_MAIN(tst_QXmppMessage)
#include "tst_qxmppmessage.moc"
diff --git a/tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp b/tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp
index 2eff6c1c..f8afb940 100644
--- a/tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp
+++ b/tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp
@@ -36,6 +36,9 @@ private slots:
void testIsTrustMessageKeyOwner();
void testTrustMessageKeyOwner_data();
void testTrustMessageKeyOwner();
+ void testIsTrustMessageElement_data();
+ void testIsTrustMessageElement();
+ void testTrustMessageElement();
};
void tst_QXmppTrustMessages::testIsTrustMessageKeyOwner_data()
@@ -126,5 +129,72 @@ void tst_QXmppTrustMessages::testTrustMessageKeyOwner()
serializePacket(keyOwner2, xml);
}
+void tst_QXmppTrustMessages::testIsTrustMessageElement_data()
+{
+ QTest::addColumn<QByteArray>("xml");
+ QTest::addColumn<bool>("isValid");
+
+ QTest::newRow("valid")
+ << QByteArrayLiteral("<trust-message xmlns=\"urn:xmpp:tm:0\"/>")
+ << true;
+ QTest::newRow("invalidTag")
+ << QByteArrayLiteral("<invalid xmlns=\"urn:xmpp:tm:0\"/>")
+ << false;
+ QTest::newRow("invalidNamespace")
+ << QByteArrayLiteral("<trust-message xmlns=\"invalid\"/>")
+ << false;
+}
+
+void tst_QXmppTrustMessages::testIsTrustMessageElement()
+{
+ QFETCH(QByteArray, xml);
+ QFETCH(bool, isValid);
+
+ QCOMPARE(QXmppTrustMessageElement::isTrustMessageElement(xmlToDom(xml)), isValid);
+}
+
+void tst_QXmppTrustMessages::testTrustMessageElement()
+{
+ const QByteArray xml(QByteArrayLiteral(
+ "<trust-message xmlns=\"urn:xmpp:tm:0\" usage=\"urn:xmpp:atm:1\" encryption=\"urn:xmpp:omemo:1\">"
+ "<key-owner jid=\"alice@example.org\"/>"
+ "<key-owner jid=\"bob@example.com\"/>"
+ "</trust-message>"));
+
+ QXmppTrustMessageElement trustMessageElement1;
+ parsePacket(trustMessageElement1, xml);
+ QCOMPARE(trustMessageElement1.usage(), QStringLiteral("urn:xmpp:atm:1"));
+ QCOMPARE(trustMessageElement1.encryption(), QStringLiteral("urn:xmpp:omemo:1"));
+ QCOMPARE(trustMessageElement1.keyOwners().at(0).jid(), QStringLiteral("alice@example.org"));
+ QCOMPARE(trustMessageElement1.keyOwners().at(1).jid(), QStringLiteral("bob@example.com"));
+ serializePacket(trustMessageElement1, xml);
+
+ QXmppTrustMessageKeyOwner keyOwner1;
+ keyOwner1.setJid(QStringLiteral("alice@example.org"));
+ QXmppTrustMessageKeyOwner keyOwner2;
+ keyOwner2.setJid(QStringLiteral("bob@example.com"));
+
+ QXmppTrustMessageElement trustMessageElement2;
+ trustMessageElement2.setUsage(QStringLiteral("urn:xmpp:atm:1"));
+ trustMessageElement2.setEncryption(QStringLiteral("urn:xmpp:omemo:1"));
+ trustMessageElement2.setKeyOwners({ keyOwner1, keyOwner2 });
+ QCOMPARE(trustMessageElement2.usage(), QStringLiteral("urn:xmpp:atm:1"));
+ QCOMPARE(trustMessageElement2.encryption(), QStringLiteral("urn:xmpp:omemo:1"));
+ QCOMPARE(trustMessageElement2.keyOwners().at(0).jid(), QStringLiteral("alice@example.org"));
+ QCOMPARE(trustMessageElement2.keyOwners().at(1).jid(), QStringLiteral("bob@example.com"));
+ serializePacket(trustMessageElement2, xml);
+
+ QXmppTrustMessageElement trustMessageElement3;
+ trustMessageElement3.setUsage(QStringLiteral("urn:xmpp:atm:1"));
+ trustMessageElement3.setEncryption(QStringLiteral("urn:xmpp:omemo:1"));
+ trustMessageElement3.addKeyOwner(keyOwner1);
+ trustMessageElement3.addKeyOwner(keyOwner2);
+ QCOMPARE(trustMessageElement3.usage(), QStringLiteral("urn:xmpp:atm:1"));
+ QCOMPARE(trustMessageElement3.encryption(), QStringLiteral("urn:xmpp:omemo:1"));
+ QCOMPARE(trustMessageElement3.keyOwners().at(0).jid(), QStringLiteral("alice@example.org"));
+ QCOMPARE(trustMessageElement3.keyOwners().at(1).jid(), QStringLiteral("bob@example.com"));
+ serializePacket(trustMessageElement3, xml);
+}
+
QTEST_MAIN(tst_QXmppTrustMessages)
#include "tst_qxmpptrustmessages.moc"