From 9e05a8dffbe8862312795b82d6e130e808f440c3 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Wed, 26 Oct 2011 17:24:33 +0200 Subject: [PATCH] more tests --- src/tests/basictest.cpp | 4 ++++ src/tests/basictest.h | 1 + src/tests/rostermanager.cpp | 23 ++++++++++++++--------- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/tests/basictest.cpp b/src/tests/basictest.cpp index 73524063..7a4568c9 100644 --- a/src/tests/basictest.cpp +++ b/src/tests/basictest.cpp @@ -87,6 +87,10 @@ void BasicTest::injectPresence(boost::shared_ptr &response) { dynamic_cast(component->getStanzaChannel())->onPresenceReceived(response); } +void BasicTest::injectIQ(boost::shared_ptr iq) { + dynamic_cast(component->getStanzaChannel())->onIQReceived(iq); +} + Swift::Stanza *BasicTest::getStanza(boost::shared_ptr element) { Swift::Stanza *stanza = dynamic_cast(element.get()); CPPUNIT_ASSERT(stanza); diff --git a/src/tests/basictest.h b/src/tests/basictest.h index 525592ec..c67691b3 100644 --- a/src/tests/basictest.h +++ b/src/tests/basictest.h @@ -97,6 +97,7 @@ class BasicTest : public Swift::XMPPParserClient { void handleStreamEnd(); void injectPresence(boost::shared_ptr &response); + void injectIQ(boost::shared_ptr iq); Swift::Stanza *getStanza(boost::shared_ptr element); diff --git a/src/tests/rostermanager.cpp b/src/tests/rostermanager.cpp index 860308e0..d29cb5bb 100644 --- a/src/tests/rostermanager.cpp +++ b/src/tests/rostermanager.cpp @@ -94,21 +94,26 @@ class RosterManagerTest : public CPPUNIT_NS :: TestFixture, public BasicTest { add2Buddies(); CPPUNIT_ASSERT_EQUAL(2, (int) received.size()); - Swift::RosterPayload::ref payload = getStanza(received[0])->getPayload(); - CPPUNIT_ASSERT(payload); - CPPUNIT_ASSERT_EQUAL(1, (int) payload->getItems().size()); - Swift::RosterItemPayload item = payload->getItems()[0]; + Swift::RosterPayload::ref payload1 = getStanza(received[0])->getPayload(); + CPPUNIT_ASSERT(payload1); + CPPUNIT_ASSERT_EQUAL(1, (int) payload1->getItems().size()); + Swift::RosterItemPayload item = payload1->getItems()[0]; CPPUNIT_ASSERT_EQUAL(std::string("buddy1"), Buddy::JIDToLegacyName(item.getJID())); CPPUNIT_ASSERT_EQUAL(std::string("Buddy 1"), item.getName()); - payload = getStanza(received[1])->getPayload(); - CPPUNIT_ASSERT(payload); - CPPUNIT_ASSERT_EQUAL(1, (int) payload->getItems().size()); - item = payload->getItems()[0]; + Swift::RosterPayload::ref payload2 = getStanza(received[1])->getPayload(); + CPPUNIT_ASSERT(payload2); + CPPUNIT_ASSERT_EQUAL(1, (int) payload2->getItems().size()); + item = payload2->getItems()[0]; CPPUNIT_ASSERT_EQUAL(std::string("buddy2"), Buddy::JIDToLegacyName(item.getJID())); CPPUNIT_ASSERT_EQUAL(std::string("Buddy 2"), item.getName()); - // TODO send response and check for presence + // send responses back + injectIQ(Swift::IQ::createResult(getStanza(received[0])->getFrom(), getStanza(received[0])->getTo(), getStanza(received[0])->getID())); + injectIQ(Swift::IQ::createResult(getStanza(received[1])->getFrom(), getStanza(received[1])->getTo(), getStanza(received[1])->getID())); + + // we should get presences + CPPUNIT_ASSERT_EQUAL(4, (int) received.size()); } void disconnectUser() {