// SPDX-FileCopyrightText: 2021 Linus Jahn // // SPDX-License-Identifier: LGPL-2.1-or-later #include "QXmppDiscoveryManager.h" #include "TestClient.h" class tst_QXmppDiscoveryManager : public QObject { Q_OBJECT private: Q_SLOT void testInfo(); Q_SLOT void testItems(); Q_SLOT void testRequests(); }; void tst_QXmppDiscoveryManager::testInfo() { TestClient test; auto *discoManager = test.addNewExtension(); auto future = discoManager->requestDiscoInfo("user@example.org"); test.expect(""); test.inject(R"( )"); const auto info = expectFutureVariant(future.toFuture(this)); const QStringList expFeatures = { "http://jabber.org/protocol/pubsub", "urn:xmpp:mix:core:1" }; QCOMPARE(info.features(), expFeatures); QCOMPARE(info.identities().count(), 1); } void tst_QXmppDiscoveryManager::testItems() { TestClient test; auto *discoManager = test.addNewExtension(); auto future = discoManager->requestDiscoItems("user@example.org"); test.expect(""); test.inject(R"( )"); const auto items = expectFutureVariant>(future.toFuture(this)); QCOMPARE(items.size(), 4); QCOMPARE(items.at(0).name(), QStringLiteral("368866411b877c30064a5f62b917cffe")); QCOMPARE(items.at(1).name(), QStringLiteral("3300659945416e274474e469a1f0154c")); QCOMPARE(items.at(2).name(), QStringLiteral("4e30f35051b7b8b42abe083742187228")); QCOMPARE(items.at(3).name(), QStringLiteral("ae890ac52d0df67ed7cfdf51b644e901")); } void tst_QXmppDiscoveryManager::testRequests() { TestClient test; test.configuration().setJid("user@qxmpp.org/a"); auto *discoManager = test.addNewExtension(); discoManager->handleStanza(xmlToDom(R"( )")); test.expect(""); } QTEST_MAIN(tst_QXmppDiscoveryManager) #include "tst_qxmppdiscoverymanager.moc"