diff --git a/src/tests/rostermanager.cpp b/src/tests/rostermanager.cpp index 774212cf60d735a9816530ba5e9a4a79e7216a4d..e9e5f90391140b71d8ed355c7e3996138ec03c91 100644 --- a/src/tests/rostermanager.cpp +++ b/src/tests/rostermanager.cpp @@ -25,6 +25,7 @@ class RosterManagerTest : public CPPUNIT_NS :: TestFixture, public BasicTest { CPPUNIT_TEST(setBuddy); CPPUNIT_TEST(sendCurrentPresences); CPPUNIT_TEST(sendCurrentPresence); + CPPUNIT_TEST(sendBuddySubscribePresence); CPPUNIT_TEST(removeBuddy); CPPUNIT_TEST(subscribeExistingBuddy); CPPUNIT_TEST(subscribeNewBuddy); @@ -59,6 +60,17 @@ class RosterManagerTest : public CPPUNIT_NS :: TestFixture, public BasicTest { m_buddy = buddy->getName(); } + void sendBuddySubscribePresence() { + add2Buddies(); + received.clear(); + User *user = userManager->getUser("user@localhost"); + user->getRosterManager()->sendBuddySubscribePresence(user->getRosterManager()->getBuddy("buddy1")); + CPPUNIT_ASSERT_EQUAL(1, (int) received.size()); + CPPUNIT_ASSERT(getStanza(received[0])->getPayload()); + CPPUNIT_ASSERT_EQUAL(std::string("Buddy 1"), getStanza(received[0])->getPayload()->getNickname()); + + } + void setBuddy() { add2Buddies(); CPPUNIT_ASSERT_EQUAL(2, (int) received.size());