aboutsummaryrefslogtreecommitdiff
path: root/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2021-09-29 15:45:52 +0200
committerLinus Jahn <lnj@kaidan.im>2021-09-29 16:37:41 +0200
commit1654f24a1af4f96f2f1a06a2308bd05ad6f9c978 (patch)
tree898701a74cc1977cb0d1781beb75a8c86ef1dddb /tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
parent9b21bef379d94876908cbb706c9ba2438779bf54 (diff)
downloadqxmpp-1654f24a1af4f96f2f1a06a2308bd05ad6f9c978.tar.gz
PubSubManager: Add create node requests with config
Diffstat (limited to 'tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp')
-rw-r--r--tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp b/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
index 9c80a1b8..4bbcdf77 100644
--- a/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
+++ b/tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp
@@ -82,7 +82,9 @@ private:
Q_SLOT void testFetchNodes();
Q_SLOT void testCreateNodes_data();
Q_SLOT void testCreateNodes();
+ Q_SLOT void testCreateNodeWithConfig();
Q_SLOT void testCreateInstantNode();
+ Q_SLOT void testCreateInstantNodeWithConfig();
Q_SLOT void testDeleteNodes_data();
Q_SLOT void testDeleteNodes();
Q_SLOT void testPublishItems_data();
@@ -170,6 +172,27 @@ void tst_QXmppPubSubManager::testCreateNodes()
expectFutureVariant<QXmpp::Success>(future);
}
+void tst_QXmppPubSubManager::testCreateNodeWithConfig()
+{
+ auto [test, psManager] = Client();
+ QXmppPubSubNodeConfig config;
+ config.setTitle("Princely Musings (Atom)");
+ auto future = psManager->createNode("pubsub.qxmpp.org", "princely_musings", config);
+ test.expect("<iq id='qxmpp1' to='pubsub.qxmpp.org' type='set'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<create node='princely_musings'/>"
+ "<configure>"
+ "<x xmlns='jabber:x:data' type='submit'>"
+ "<field type='hidden' var='FORM_TYPE'><value>http://jabber.org/protocol/pubsub#node_config</value></field>"
+ "<field type='text-single' var='pubsub#title'><value>Princely Musings (Atom)</value></field>"
+ "</x>"
+ "</configure>"
+ "</pubsub>"
+ "</iq>");
+ test.inject<QString>("<iq id='qxmpp1' type='result'/>");
+ expectFutureVariant<QXmpp::Success>(future);
+}
+
void tst_QXmppPubSubManager::testCreateInstantNode()
{
TestClient test;
@@ -187,6 +210,30 @@ void tst_QXmppPubSubManager::testCreateInstantNode()
QCOMPARE(nodeId, QString("25e3d37dabbab9541f7523321421edc5bfeb2dae"));
}
+void tst_QXmppPubSubManager::testCreateInstantNodeWithConfig()
+{
+ auto [test, psManager] = Client();
+ QXmppPubSubNodeConfig config;
+ config.setTitle("Princely Musings (Atom)");
+ auto future = psManager->createInstantNode("pubsub.qxmpp.org", config);
+ test.expect("<iq id='qxmpp1' to='pubsub.qxmpp.org' type='set'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<create/>"
+ "<configure>"
+ "<x xmlns='jabber:x:data' type='submit'>"
+ "<field type='hidden' var='FORM_TYPE'><value>http://jabber.org/protocol/pubsub#node_config</value></field>"
+ "<field type='text-single' var='pubsub#title'><value>Princely Musings (Atom)</value></field>"
+ "</x>"
+ "</configure>"
+ "</pubsub>"
+ "</iq>");
+ test.inject<QString>("<iq type='result' from='pubsub.qxmpp.org' id='qxmpp1'>"
+ "<pubsub xmlns='http://jabber.org/protocol/pubsub'>"
+ "<create node='25e3d37dabbab9541f7523321421edc5bfeb2dae'/>"
+ "</pubsub></iq>");
+ QCOMPARE(expectFutureVariant<QString>(future), QStringLiteral("25e3d37dabbab9541f7523321421edc5bfeb2dae"));
+}
+
void tst_QXmppPubSubManager::testDeleteNodes_data()
{
QTest::addColumn<bool>("isPep");