Test for automatic reconnection

This commit is contained in:
Jan Kaluza 2012-09-05 10:06:51 +02:00
parent 2e8d2be063
commit 4c4ff8e816
3 changed files with 13 additions and 1 deletions

View file

@ -24,6 +24,7 @@ set(CMAKE_MODULE_PATH "cmake_modules")
# FIND CPPUNIT
if(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY)
set(CCPUNIT_LIBRARIES ${CPPUNIT_LIBRARY})
set(CPPUNIT_FOUND 1)
message(STATUS "Using cppunit: ${CPPUNIT_INCLUDE_DIR} ${CPPUNIT_LIBRARIES}")
else()
set(cppunit_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")

View file

@ -16,7 +16,7 @@ if (CPPUNIT_FOUND)
ADD_EXECUTABLE(libtransport_test ${SRC_TEST})
target_link_libraries(libtransport_test transport ${CPPUNIT_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(libtransport_test transport ${CPPUNIT_LIBRARY} ${Boost_LIBRARIES})
endif()
if (NOT WIN32)

View file

@ -28,6 +28,7 @@ class UserTest : public CPPUNIT_NS :: TestFixture, public BasicTest {
CPPUNIT_TEST(handlePresenceLeaveRoom);
CPPUNIT_TEST(leaveJoinedRoom);
CPPUNIT_TEST(handleDisconnected);
CPPUNIT_TEST(handleDisconnectedReconnect);
CPPUNIT_TEST_SUITE_END();
public:
@ -203,6 +204,16 @@ class UserTest : public CPPUNIT_NS :: TestFixture, public BasicTest {
disconnected = true;
}
void handleDisconnectedReconnect() {
User *user = userManager->getUser("user@localhost");
user->handleDisconnected("Connection error");
loop->processEvents();
CPPUNIT_ASSERT(!streamEnded);
user = userManager->getUser("user@localhost");
CPPUNIT_ASSERT(user);
}
};
CPPUNIT_TEST_SUITE_REGISTRATION (UserTest);