diff options
| author | Melvin Keskin <melvo@olomono.de> | 2021-06-30 17:38:47 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2021-07-06 22:35:53 +0200 |
| commit | 0b947c682c27091dd4afd5900d8e339175e1aba0 (patch) | |
| tree | d880db35de8d3eaefb01ead0043b07901c5cda50 /tests | |
| parent | 92427f63b3458fac76f64f2993db81d8c4c5d84c (diff) | |
| download | qxmpp-0b947c682c27091dd4afd5900d8e339175e1aba0.tar.gz | |
Add QXmppTrustMessageElement
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qxmppmessage/tst_qxmppmessage.cpp | 30 | ||||
| -rw-r--r-- | tests/qxmpptrustmessages/tst_qxmpptrustmessages.cpp | 70 |
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" |
