aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMelvin Keskin <melvo@olomono.de>2022-04-07 17:35:08 +0200
committerLinus Jahn <lnj@kaidan.im>2022-04-09 22:27:06 +0200
commit70a64f0d897413466777ef58e4bc9c93fceda0e6 (patch)
tree94e41cbab4ca7498c33fd0f9ac5a600f6f921d40 /tests
parent0c74602895d6f55fc73aee199a1009b3226d0949 (diff)
downloadqxmpp-70a64f0d897413466777ef58e4bc9c93fceda0e6.tar.gz
PubSubManager: requestItem: Add StandardItemId enum for 'current'
Diffstat (limited to 'tests')
-rw-r--r--tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp b/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
index 8bc5069b..98db3d90 100644
--- a/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
+++ b/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
@@ -1,5 +1,6 @@
// SPDX-FileCopyrightText: 2020 Linus Jahn <lnj@kaidan.im>
// SPDX-FileCopyrightText: 2020 Germán Márquez Mejía <mancho@olomono.de>
+// SPDX-FileCopyrightText: 2022 Melvin Keskin <melvo@olomono.de>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
@@ -76,10 +77,13 @@ private:
Q_SLOT void testDeleteNodes();
Q_SLOT void testPublishItems_data();
Q_SLOT void testPublishItems();
+ Q_SLOT void testRetractCurrentItem();
Q_SLOT void testRetractItem_data();
Q_SLOT void testRetractItem();
+ Q_SLOT void testRetractCurrentPepItem();
Q_SLOT void testPurgeItems();
Q_SLOT void testPurgePepItems();
+ Q_SLOT void testRequestCurrentItem();
Q_SLOT void testRequestItems_data();
Q_SLOT void testRequestItems();
Q_SLOT void testRequestItemNotFound();
@@ -409,6 +413,27 @@ void tst_QXmppPubSubManager::testPublishItems()
}
}
+void tst_QXmppPubSubManager::testRetractCurrentItem()
+{
+ auto [test, psManager] = Client();
+
+ auto future = psManager->retractItem(QStringLiteral("pubsub.shakespeare.lit"), QStringLiteral("princely_musings"), PSManager::Current);
+ test.expect(QStringLiteral("<iq id='qxmpp1' to='pubsub.shakespeare.lit' type='set'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<retract node='princely_musings'>"
+ "<item id='current'/>"
+ "</retract>"
+ "</pubsub></iq>"));
+ test.inject(QStringLiteral("<iq id='qxmpp1' from='pubsub.shakespeare.lit' to='francisco@denmark.lit/barracks' type='result'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<retract node='princely_musings'>"
+ "<item id='current'/>"
+ "</retract>"
+ "</pubsub></iq>"));
+
+ expectFutureVariant<QXmpp::Success>(future);
+}
+
void tst_QXmppPubSubManager::testRetractItem_data()
{
QTest::addColumn<bool>("isPep");
@@ -454,6 +479,27 @@ void tst_QXmppPubSubManager::testRetractItem()
expectFutureVariant<QXmpp::Success>(future);
}
+void tst_QXmppPubSubManager::testRetractCurrentPepItem()
+{
+ auto [test, psManager] = Client();
+
+ auto future = psManager->retractPepItem(QStringLiteral("princely_musings"), PSManager::Current);
+ test.expect(QStringLiteral("<iq id='qxmpp1' type='set'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<retract node='princely_musings'>"
+ "<item id='current'/>"
+ "</retract>"
+ "</pubsub></iq>"));
+ test.inject(QStringLiteral("<iq id='qxmpp1' from='juliet@capulet.lit' to='juliet@capulet.lit/balcony' type='result'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<retract node='princely_musings'>"
+ "<item id='current'/>"
+ "</retract>"
+ "</pubsub></iq>"));
+
+ expectFutureVariant<QXmpp::Success>(future);
+}
+
void tst_QXmppPubSubManager::testPurgeItems()
{
auto [test, psManager] = Client();
@@ -478,6 +524,28 @@ void tst_QXmppPubSubManager::testPurgePepItems()
expectFutureVariant<QXmpp::Success>(future);
}
+void tst_QXmppPubSubManager::testRequestCurrentItem()
+{
+ auto [test, psManager] = Client();
+
+ auto future = psManager->requestItem(QStringLiteral("pubsub.shakespeare.lit"), QStringLiteral("princely_musings"), PSManager::Current);
+ test.expect(QStringLiteral("<iq id='qxmpp1' to='pubsub.shakespeare.lit' type='get'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<items node='princely_musings'>"
+ "<item id='current'/>"
+ "</items>"
+ "</pubsub></iq>"));
+ test.inject(QStringLiteral("<iq id='qxmpp1' from='pubsub.shakespeare.lit' to='francisco@denmark.lit/barracks' type='result'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<items node='princely_musings'>"
+ "<item id='current'/>"
+ "</items>"
+ "</pubsub></iq>"));
+
+ const auto item = expectFutureVariant<QXmppPubSubItem>(future);
+ QCOMPARE(item.id(), QStringLiteral("current"));
+}
+
void tst_QXmppPubSubManager::testRequestItems_data()
{
QTest::addColumn<QString>("jid");