From 2d48ae784ea6828e8626c32c848f64232d8f35c0 Mon Sep 17 00:00:00 2001 From: geronimo Date: Fri, 13 Jul 2012 04:26:40 +0200 Subject: initial import --- .../ConnectionHandlerTest.cbp | 69 +++++++++++ .../ConnectionHandlerTest/ConnectionHandlerTest.cc | 135 +++++++++++++++++++++ .../ConnectionHandlerTest.depend | 1 + .../ConnectionHandlerTest.layout | 9 ++ .../ConnectionHandlerTest.layout.save | 9 ++ 5 files changed, 223 insertions(+) create mode 100644 tests/ConnectionHandlerTest/ConnectionHandlerTest.cbp create mode 100644 tests/ConnectionHandlerTest/ConnectionHandlerTest.cc create mode 100644 tests/ConnectionHandlerTest/ConnectionHandlerTest.depend create mode 100644 tests/ConnectionHandlerTest/ConnectionHandlerTest.layout create mode 100644 tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save (limited to 'tests/ConnectionHandlerTest') diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.cbp b/tests/ConnectionHandlerTest/ConnectionHandlerTest.cbp new file mode 100644 index 0000000..b2d783b --- /dev/null +++ b/tests/ConnectionHandlerTest/ConnectionHandlerTest.cbp @@ -0,0 +1,69 @@ + + + + + + diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.cc b/tests/ConnectionHandlerTest/ConnectionHandlerTest.cc new file mode 100644 index 0000000..1dc3659 --- /dev/null +++ b/tests/ConnectionHandlerTest/ConnectionHandlerTest.cc @@ -0,0 +1,135 @@ +/* + * File: ConnectionHandlerTest.cc + * Author: django + * + * Created on 10.07.2012, 05:48:23 + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class cTestUnit { +public: + cTestUnit(const char *Name, cConnectionPoint &cp); + ~cTestUnit(); + + void test1(void); + void test2(void); + + const char *Name(void) const { return name; } + void SetUp(void); + +private: + cServerConfig config; + cConnectionHandler ch; + const char *name; + cFilesystemScanner *scanner; +}; + +cTestUnit::cTestUnit(const char* Name, cConnectionPoint &cp) + : config(12345) + , ch(cp, config) + , name(Name) + , scanner(NULL) +{ + config.SetAuthorizationRequired(false); + config.SetDocumentRoot("/media/video"); + config.SetAppIcon("/media/favicon.ico"); + + scanner = new cFilesystemScanner(); + if (!scanner) { + fprintf(stderr, "could not initialize application! (1)"); + exit(-1); + } + scanner->SetMediaFactory(new cMediaFactory(config.DocumentRoot())); + + cAbstractMediaRequestHandler::SetFilesystemScanner(scanner); + cConnectionHandler::RegisterRequestHandler("/cmd", new cCommandHandler()); + cMediaListHandler *listHandler = new cMediaListHandler(); + + listHandler->SetListAssembler("json", new cJSonListAssembler()); + listHandler->SetDefaultListAssembler(new cHTMLListAssembler()); + cConnectionHandler::RegisterRequestHandler("/", listHandler); + cConnectionHandler::RegisterDefaultHandler(new cMediaFileHandler()); +} + +cTestUnit::~cTestUnit() +{ + cCommandHandler::Cleanup(); + delete scanner; +} + +void cTestUnit::SetUp() +{ + if (scanner) scanner->Refresh(); +} + +void cTestUnit::test1() +{ + std::cout << "ConnectionHandlerTest test 1" << std::endl; + + cHTTPRequest rq(cHTTPRequest::GET, "/"); + + rq.SetHeader("Host", "localhost:43567"); + rq.SetHeader("User-Agent", "TestUnit"); + rq.SetHeader("Accept", "image/png,image/*;q=0.8,*/*;q=0.5"); + rq.SetHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"); + rq.SetHeader("Accept-Encoding", "gzip,deflate"); + rq.SetHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"); + rq.SetHeader("Keep-Alive", "300"); + rq.SetHeader("Connection", "keep-alive"); + + rq.Dump(); + cHTTPResponse *res = ch.ProcessRequest(rq); + + std::cout << "response looks like ..." << std::endl; + res->Dump(); + delete res; +} + +void cTestUnit::test2() +{ + std::cout << "ConnectionHandlerTest test 2" << std::endl; + std::cout << "%TEST_FAILED% time=0 testname=test2 (ConnectionHandlerTest) message=error message sample" << std::endl; +} + +int main(int argc, char** argv) +{ + uint64_t t0 = cTimeMs::Now(); + cConnectionPoint localHost("localhost", 40902); + cTestUnit unit("ConnectionHandlerTest", localHost); + + unit.SetUp(); + std::cout << "%SUITE_STARTING% " << unit.Name() << std::endl; + std::cout << "%SUITE_STARTED%" << std::endl; + + std::cout << "%TEST_STARTED% test1 (" << unit.Name() << ")" << std::endl; + uint64_t start = cTimeMs::Now(); + unit.test1(); + uint64_t end = cTimeMs::Now(); + std::cout << "%TEST_FINISHED% time=" << (double)(end - start) / 1000 << " test1 (" << unit.Name() << ")" << std::endl; + + std::cout << "%TEST_STARTED% test2 (" << unit.Name() << ")\n" << std::endl; + start = cTimeMs::Now(); + unit.test2(); + end = cTimeMs::Now(); + std::cout << "%TEST_FINISHED% time=" << (double)(end - start) / 1000 << " test2 (" << unit.Name() << ")" << std::endl; + + std::cout << "%SUITE_FINISHED% time=" << (double)(cTimeMs::Now() - t0) / 1000 << std::endl; + + return (EXIT_SUCCESS); +} + diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.depend b/tests/ConnectionHandlerTest/ConnectionHandlerTest.depend new file mode 100644 index 0000000..c4ac310 --- /dev/null +++ b/tests/ConnectionHandlerTest/ConnectionHandlerTest.depend @@ -0,0 +1 @@ +# depslib dependency file v1.0 diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout b/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout new file mode 100644 index 0000000..84f2aab --- /dev/null +++ b/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save b/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save new file mode 100644 index 0000000..84f2aab --- /dev/null +++ b/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save @@ -0,0 +1,9 @@ + + + + + + + + + -- cgit v1.2.3