Files
@ bd09fbde0cc8
Branch filter:
Location: libtransport.git/src/tests/networkpluginserver.cpp - annotation
bd09fbde0cc8
3.6 KiB
text/x-c++hdr
Better .spec file
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);
|