summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-10-01 11:09:13 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-10-01 11:09:13 (GMT)
commit6a4a15088e7c97b3f6c1de179eee1defa2720bdb (patch)
tree56a994e5f7eddcc38cf24d6af24f8c28076c537a /Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp
parenteedd35c220d6c8788c8ae4921135333a57feb3a0 (diff)
downloadswift-contrib-6a4a15088e7c97b3f6c1de179eee1defa2720bdb.zip
swift-contrib-6a4a15088e7c97b3f6c1de179eee1defa2720bdb.tar.bz2
Fixed roster sender check.swift-1.x
Resolves: #993
Diffstat (limited to 'Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp')
-rw-r--r--Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp b/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp
index 4ef1cc1..997840f 100644
--- a/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp
+++ b/Swiften/Roster/UnitTest/XMPPRosterControllerTest.cpp
@@ -17,27 +17,29 @@
#include "Swiften/Queries/IQRouter.h"
#include "Swiften/Roster/XMPPRosterImpl.h"
using namespace Swift;
class XMPPRosterControllerTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(XMPPRosterControllerTest);
CPPUNIT_TEST(testGet_EmptyResponse);
CPPUNIT_TEST(testAdd);
+ CPPUNIT_TEST(testAddFromNonAccount);
CPPUNIT_TEST(testModify);
CPPUNIT_TEST(testRemove);
CPPUNIT_TEST(testMany);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {
channel_ = new DummyStanzaChannel();
router_ = new IQRouter(channel_);
+ router_->setJID("me@bla.com");
xmppRoster_ = new XMPPRosterImpl();
handler_ = new XMPPRosterSignalHandler(xmppRoster_);
jid1_ = JID("foo@bar.com");
jid2_ = JID("alice@wonderland.lit");
jid3_ = JID("jane@austen.lit");
}
void tearDown() {
delete handler_;
@@ -62,18 +64,30 @@ class XMPPRosterControllerTest : public CppUnit::TestFixture {
channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "eou", payload));
CPPUNIT_ASSERT_EQUAL(Add, handler_->getLastEvent());
CPPUNIT_ASSERT_EQUAL(jid1_, handler_->getLastJID());
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), xmppRoster_->getGroupsForJID(jid1_).size());
CPPUNIT_ASSERT(xmppRoster_->containsJID(jid1_));
CPPUNIT_ASSERT_EQUAL(std::string("Bob"), xmppRoster_->getNameForJID(jid1_));
}
+ void testAddFromNonAccount() {
+ XMPPRosterController controller(router_, xmppRoster_);
+
+ boost::shared_ptr<RosterPayload> payload(new RosterPayload());
+ payload->addItem(RosterItemPayload(jid1_, "Bob", RosterItemPayload::Both));
+ IQ::ref request = IQ::createRequest(IQ::Set, JID(), "eou", payload);
+ request->setFrom(jid2_);
+ channel_->onIQReceived(request);
+
+ CPPUNIT_ASSERT_EQUAL(None, handler_->getLastEvent());
+ }
+
void testModify() {
XMPPRosterController controller(router_, xmppRoster_);
boost::shared_ptr<RosterPayload> payload1(new RosterPayload());
payload1->addItem(RosterItemPayload(jid1_, "Bob", RosterItemPayload::Both));
channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "id1", payload1));
CPPUNIT_ASSERT_EQUAL(Add, handler_->getLastEvent());
CPPUNIT_ASSERT_EQUAL(jid1_, handler_->getLastJID());
handler_->reset();