Files
@ ee2e261f6b2b
Branch filter:
Location: libtransport.git/tests/libtransport/HTTPRequest.cpp - annotation
ee2e261f6b2b
1.9 KiB
text/x-c++hdr
using boost::thread::sleep, fixes tests under MSVC
ee2e261f6b2b 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 ee2e261f6b2b ee2e261f6b2b ee2e261f6b2b 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 36cb102b9350 | #include <boost/thread/thread.hpp>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <Swiften/Swiften.h>
#include <Swiften/EventLoop/DummyEventLoop.h>
#include <Swiften/Server/Server.h>
#include <Swiften/Network/DummyNetworkFactories.h>
#include <Swiften/Network/DummyConnectionServer.h>
#include <Swiften/Elements/VCardUpdate.h>
#include "Swiften/Server/ServerStanzaChannel.h"
#include "Swiften/Server/ServerFromClientSession.h"
#include "Swiften/Parser/PayloadParsers/FullPayloadParserFactoryCollection.h"
#include "basictest.h"
#include "transport/ThreadPool.h"
#include "transport/HTTPRequest.h"
using namespace Transport;
#if !HAVE_SWIFTEN_3
#define get_value_or(X) substr()
#endif
class HTTPRequestTest : public CPPUNIT_NS :: TestFixture, public BasicTest {
CPPUNIT_TEST_SUITE(HTTPRequestTest);
CPPUNIT_TEST(GETThreadPool);
CPPUNIT_TEST_SUITE_END();
public:
ThreadPool *tp;
bool result;
void setUp (void) {
setMeUp();
tp = new ThreadPool(loop, 10);
result = false;
}
void tearDown (void) {
tearMeDown();
delete tp;
}
void handleResult(HTTPRequest *req, bool ok, rapidjson::Document &resp, const std::string &data) {
result = true;
}
void GET() {
rapidjson::Document resp;
HTTPRequest *req = new HTTPRequest(tp, HTTPRequest::Get, "http://spectrum.im/params.json", boost::bind(&HTTPRequestTest::handleResult, this, _1, _2, _3, _4));
req->execute(resp);
delete req;
}
void GETThreadPool() {
HTTPRequest *req = new HTTPRequest(tp, HTTPRequest::Get, "http://spectrum.im/params.json", boost::bind(&HTTPRequestTest::handleResult, this, _1, _2, _3, _4));
req->execute();
int i = 0;
while (result == false && i < 5) {
boost::system_time time = boost::get_system_time();
time += boost::posix_time::seconds(1);
boost::thread::sleep(time);
loop->processEvents();
i++;
}
CPPUNIT_ASSERT(result);
}
};
CPPUNIT_TEST_SUITE_REGISTRATION (HTTPRequestTest);
|