Files
@ daeb6dfc9a9f
Branch filter:
Location: libtransport.git/tests/libtransport/component.cpp - annotation
daeb6dfc9a9f
2.9 KiB
text/x-c++hdr
Enable support for Qt5
Since Qt4 is EOL, we should also support libcommuni build with Qt5.
In order not to break Fedora docker builds, -DENABLE_QT4 is introduced.
When set to 'ON', support for Qt4 is being enabled,
otherwise support for Qt5 is enabled.
Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
Since Qt4 is EOL, we should also support libcommuni build with Qt5.
In order not to break Fedora docker builds, -DENABLE_QT4 is introduced.
When set to 'ON', support for Qt4 is being enabled,
otherwise support for Qt5 is enabled.
Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
dd11e43325de dd11e43325de c86358c64f5f dd11e43325de dd11e43325de dd11e43325de dd11e43325de c86358c64f5f c86358c64f5f c86358c64f5f dd11e43325de 848f672b07e5 dd11e43325de 848f672b07e5 dd11e43325de 848f672b07e5 dd11e43325de c86358c64f5f 225a246407f7 7b287fdc66eb dd11e43325de dd11e43325de dd11e43325de dd11e43325de 225a246407f7 fe47e0979be9 dd11e43325de 848f672b07e5 225a246407f7 fe47e0979be9 dd11e43325de dd11e43325de dd11e43325de 848f672b07e5 dd11e43325de dd11e43325de 6d2f8c192761 fe47e0979be9 225a246407f7 225a246407f7 225a246407f7 225a246407f7 225a246407f7 225a246407f7 c86358c64f5f 225a246407f7 225a246407f7 225a246407f7 fe47e0979be9 225a246407f7 225a246407f7 225a246407f7 225a246407f7 225a246407f7 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb fe47e0979be9 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 7b287fdc66eb 225a246407f7 c86358c64f5f c86358c64f5f c86358c64f5f fe47e0979be9 dd11e43325de c86358c64f5f fe47e0979be9 225a246407f7 225a246407f7 225a246407f7 225a246407f7 dd11e43325de 225a246407f7 fe47e0979be9 dd11e43325de dd11e43325de dd11e43325de | #include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <Swiften/Swiften.h>
#include <Swiften/EventLoop/DummyEventLoop.h>
#include <Swiften/Server/Server.h>
#include <Swiften/Network/DummyNetworkFactories.h>
#include <Swiften/Network/DummyConnectionServer.h>
#include "Swiften/Server/ServerStanzaChannel.h"
#include "Swiften/Server/ServerFromClientSession.h"
#include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h"
#include "basictest.h"
using namespace Transport;
class ComponentTest : public CPPUNIT_NS :: TestFixture, public BasicTest {
CPPUNIT_TEST_SUITE(ComponentTest);
CPPUNIT_TEST(handlePresenceWithNode);
CPPUNIT_TEST(handlePresenceWithoutNode);
CPPUNIT_TEST(handleErrorPresence);
CPPUNIT_TEST_SUITE_END();
public:
void setUp (void) {
onUserPresenceReceived = false;
onCapabilitiesReceived = false;
setMeUp();
component->onUserPresenceReceived.connect(boost::bind(&ComponentTest::handleUserPresenceReceived, this, _1));
component->getFrontend()->onCapabilitiesReceived.connect(boost::bind(&ComponentTest::handleUserDiscoInfoReceived, this, _1, _2));
}
void tearDown (void) {
tearMeDown();
}
void handleUserDiscoInfoReceived(const Swift::JID& jid, SWIFTEN_SHRPTR_NAMESPACE::shared_ptr<Swift::DiscoInfo> info) {
onCapabilitiesReceived = true;
}
void handleUserPresenceReceived(Swift::Presence::ref presence) {
onUserPresenceReceived = true;
}
void handlePresenceWithNode() {
Swift::Presence::ref response = Swift::Presence::create();
response->setTo("somebody@localhost");
response->setFrom("user@localhost/resource");
dynamic_cast<Swift::ServerStanzaChannel *>(static_cast<XMPPFrontend *>(component->getFrontend())->getStanzaChannel())->onPresenceReceived(response);
loop->processEvents();
CPPUNIT_ASSERT_EQUAL(0, (int) received.size());
}
// Error presence should be ignored
void handleErrorPresence() {
Swift::Presence::ref response = Swift::Presence::create();
response->setTo("localhost");
response->setFrom("user@localhost/resource");
response->setType(Swift::Presence::Error);
dynamic_cast<Swift::ServerStanzaChannel *>(static_cast<XMPPFrontend *>(component->getFrontend())->getStanzaChannel())->onPresenceReceived(response);
loop->processEvents();
CPPUNIT_ASSERT_EQUAL(0, (int) received.size());
}
void handlePresenceWithoutNode() {
Swift::Presence::ref response = Swift::Presence::create();
response->setTo("localhost");
response->setFrom("user@localhost/resource");
dynamic_cast<Swift::ServerStanzaChannel *>(static_cast<XMPPFrontend *>(component->getFrontend())->getStanzaChannel())->onPresenceReceived(response);
loop->processEvents();
CPPUNIT_ASSERT_EQUAL(1, (int) received.size());
CPPUNIT_ASSERT(getStanza(received[0])->getPayload<Swift::DiscoInfo>());
CPPUNIT_ASSERT(onUserPresenceReceived);
}
private:
bool onUserPresenceReceived;
bool onCapabilitiesReceived;
};
CPPUNIT_TEST_SUITE_REGISTRATION (ComponentTest);
|