diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-09-03 16:35:10 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-09-03 16:35:10 (GMT) | 
| commit | 630728ba5d1c263e62d65c3f3cac1520340b7172 (patch) | |
| tree | 2e10cbc8000c8840f6adf5f18103c0b0e836ddbd /QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp | |
| parent | 776c7f67e845e9193993cec42fa60b2e418e9c75 (diff) | |
| download | swift-contrib-630728ba5d1c263e62d65c3f3cac1520340b7172.zip swift-contrib-630728ba5d1c263e62d65c3f3cac1520340b7172.tar.bz2  | |
Move Swiften QA test into QA module.
Diffstat (limited to 'QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp')
| -rw-r--r-- | QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp | 72 | 
1 files changed, 72 insertions, 0 deletions
diff --git a/QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp b/QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp new file mode 100644 index 0000000..a5c51aa --- /dev/null +++ b/QA/Swiften/NetworkTest/BoostConnectionServerTest.cpp @@ -0,0 +1,72 @@ +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> +#include <boost/shared_ptr.hpp> + +#include "Swiften/Base/String.h" +#include "Swiften/Network/BoostConnectionServer.h" +#include "Swiften/Network/BoostIOServiceThread.h" +#include "Swiften/EventLoop/DummyEventLoop.h" + +using namespace Swift; + +class BoostConnectionServerTest : public CppUnit::TestFixture { +		CPPUNIT_TEST_SUITE(BoostConnectionServerTest); +		CPPUNIT_TEST(testConstructor_TwoServersOnSamePort); +		CPPUNIT_TEST(testStart_Conflict); +		CPPUNIT_TEST(testStop); +		CPPUNIT_TEST_SUITE_END(); + +	public: +		void setUp() { +			boostIOServiceThread_ = new BoostIOServiceThread(); +			eventLoop_ = new DummyEventLoop(); +			stopped = false; +			stoppedError.reset(); +		} + +		void tearDown() { +			delete eventLoop_; +			delete boostIOServiceThread_; +		} + +		void testConstructor_TwoServersOnSamePort() { +			boost::shared_ptr<BoostConnectionServer> testling(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +			boost::shared_ptr<BoostConnectionServer> testling2(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +		} + +		void testStart_Conflict() { +			boost::shared_ptr<BoostConnectionServer> testling(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +			testling->start(); + +			boost::shared_ptr<BoostConnectionServer> testling2(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +			testling2->onStopped.connect( +					boost::bind(&BoostConnectionServerTest::handleStopped, this, _1)); + +			testling->stop(); +		} + +		void testStop() { +			boost::shared_ptr<BoostConnectionServer> testling(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +			testling->start(); + +			testling->stop(); + +			boost::shared_ptr<BoostConnectionServer> testling2(new BoostConnectionServer(9999, &boostIOServiceThread_->getIOService())); +			testling2->start(); + +			testling2->stop(); +		} + +		void handleStopped(boost::optional<BoostConnectionServer::Error> e) { +			stopped = true; +			stoppedError = e; +		} + +	private: +		BoostIOServiceThread* boostIOServiceThread_; +		DummyEventLoop* eventLoop_; +		bool stopped; +		boost::optional<BoostConnectionServer::Error> stoppedError; +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(BoostConnectionServerTest);  | 
 Swift