Files
@ 150afaed9002
Branch filter:
Location: libtransport.git/src/tests/networkpluginserver.cpp - annotation
150afaed9002
3.6 KiB
text/x-c++hdr
Removed m_modes and m_away and introduced IRCBuddy in communi backend
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 dc1cc4170e4a df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 df3276119498 dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a dc1cc4170e4a df3276119498 df3276119498 df3276119498 | #include "transport/userregistry.h"
#include "transport/userregistration.h"
#include "transport/config.h"
#include "transport/storagebackend.h"
#include "transport/user.h"
#include "transport/transport.h"
#include "transport/conversation.h"
#include "transport/usermanager.h"
#include "transport/localbuddy.h"
#include "transport/settingsadhoccommand.h"
#include "transport/adhocmanager.h"
#include "transport/protocol.pb.h"
#include "transport/networkpluginserver.h"
#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 NetworkPluginServerTest : public CPPUNIT_NS :: TestFixture, public BasicTest {
CPPUNIT_TEST_SUITE(NetworkPluginServerTest);
CPPUNIT_TEST(handleBuddyChangedPayload);
CPPUNIT_TEST(handleBuddyChangedPayloadNoEscaping);
CPPUNIT_TEST(handleBuddyChangedPayloadUserContactInRoster);
CPPUNIT_TEST_SUITE_END();
public:
NetworkPluginServer *serv;
void setUp (void) {
setMeUp();
serv = new NetworkPluginServer(component, cfg, userManager, NULL, NULL);
connectUser();
received.clear();
}
void tearDown (void) {
received.clear();
disconnectUser();
delete serv;
tearMeDown();
}
void handleBuddyChangedPayload() {
User *user = userManager->getUser("user@localhost");
pbnetwork::Buddy buddy;
buddy.set_username("user@localhost");
buddy.set_buddyname("buddy1@test");
std::string message;
buddy.SerializeToString(&message);
serv->handleBuddyChangedPayload(message);
CPPUNIT_ASSERT_EQUAL(1, (int) received.size());
Swift::RosterPayload::ref payload1 = getStanza(received[0])->getPayload<Swift::RosterPayload>();
CPPUNIT_ASSERT_EQUAL(1, (int) payload1->getItems().size());
Swift::RosterItemPayload item = payload1->getItems()[0];
CPPUNIT_ASSERT_EQUAL(std::string("buddy1\\40test@localhost"), item.getJID().toString());
}
void handleBuddyChangedPayloadNoEscaping() {
std::istringstream ifs("service.server_mode = 1\nservice.jid_escaping=0\nservice.jid=localhost\nservice.more_resources=1\n");
cfg->load(ifs);
User *user = userManager->getUser("user@localhost");
pbnetwork::Buddy buddy;
buddy.set_username("user@localhost");
buddy.set_buddyname("buddy1@test");
std::string message;
buddy.SerializeToString(&message);
serv->handleBuddyChangedPayload(message);
CPPUNIT_ASSERT_EQUAL(1, (int) received.size());
Swift::RosterPayload::ref payload1 = getStanza(received[0])->getPayload<Swift::RosterPayload>();
CPPUNIT_ASSERT_EQUAL(1, (int) payload1->getItems().size());
Swift::RosterItemPayload item = payload1->getItems()[0];
CPPUNIT_ASSERT_EQUAL(std::string("buddy1%test@localhost"), item.getJID().toString());
std::istringstream ifs2("service.server_mode = 1\nservice.jid_escaping=1\nservice.jid=localhost\nservice.more_resources=1\n");
cfg->load(ifs2);
}
void handleBuddyChangedPayloadUserContactInRoster() {
User *user = userManager->getUser("user@localhost");
pbnetwork::Buddy buddy;
buddy.set_username("user@localhost");
buddy.set_buddyname("user");
std::string message;
buddy.SerializeToString(&message);
serv->handleBuddyChangedPayload(message);
CPPUNIT_ASSERT_EQUAL(0, (int) received.size());
}
};
CPPUNIT_TEST_SUITE_REGISTRATION (NetworkPluginServerTest);
|