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 ++ .../CredentialPersistence.cbp | 67 ++++++++++ .../CredentialPersistence.cbp.save | 67 ++++++++++ .../CredentialPersistence/CredentialPersistence.cc | 85 +++++++++++++ .../CredentialPersistence.depend | 1 + .../CredentialPersistence.layout | 9 ++ .../CredentialPersistence.layout.save | 9 ++ tests/JSonTest/JSonTest.cbp | 66 ++++++++++ tests/JSonTest/JSonTest.cbp.save | 66 ++++++++++ tests/JSonTest/JSonTest.cc | 68 +++++++++++ tests/JSonTest/JSonTest.depend | 18 +++ tests/JSonTest/JSonTest.layout | 9 ++ 16 files changed, 688 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 create mode 100644 tests/CredentialPersistence/CredentialPersistence.cbp create mode 100644 tests/CredentialPersistence/CredentialPersistence.cbp.save create mode 100644 tests/CredentialPersistence/CredentialPersistence.cc create mode 100644 tests/CredentialPersistence/CredentialPersistence.depend create mode 100644 tests/CredentialPersistence/CredentialPersistence.layout create mode 100644 tests/CredentialPersistence/CredentialPersistence.layout.save create mode 100644 tests/JSonTest/JSonTest.cbp create mode 100644 tests/JSonTest/JSonTest.cbp.save create mode 100644 tests/JSonTest/JSonTest.cc create mode 100644 tests/JSonTest/JSonTest.depend create mode 100644 tests/JSonTest/JSonTest.layout (limited to 'tests') 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 @@ + + + + + + + + + diff --git a/tests/CredentialPersistence/CredentialPersistence.cbp b/tests/CredentialPersistence/CredentialPersistence.cbp new file mode 100644 index 0000000..0a5cfce --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.cbp @@ -0,0 +1,67 @@ + + + + + + diff --git a/tests/CredentialPersistence/CredentialPersistence.cbp.save b/tests/CredentialPersistence/CredentialPersistence.cbp.save new file mode 100644 index 0000000..0a5cfce --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.cbp.save @@ -0,0 +1,67 @@ + + + + + + diff --git a/tests/CredentialPersistence/CredentialPersistence.cc b/tests/CredentialPersistence/CredentialPersistence.cc new file mode 100644 index 0000000..8dc2347 --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.cc @@ -0,0 +1,85 @@ +/* + * File: CredentialPersistence.cc + * Author: django + * + * Created on 03.07.2012, 14:16:35 + */ +#include +#include +#include +#include + +/* + * Simple C++ Test Suite + */ +static void setupTestCredentials() { + Credentials.SetApplicationRealm("supportedUsers@myTestApp"); + cPrincipal *p = new cPrincipal("Nasenbär", Credentials.ApplicationRealm()); + + p->CreateHash("Nasenwasser"); + Credentials.Put(p->Name(), p); + + p = new cPrincipal("Admin", Credentials.ApplicationRealm()); + p->CreateHash("very secret"); + Credentials.Put(p->Name(), p); + + p = new cPrincipal("Sepp", Credentials.ApplicationRealm()); + p->CreateHash("keine Ahnung"); + Credentials.Put(p->Name(), p); +} + +static void dumpCredentials() { + cCredentials::const_iterator principals = Credentials.begin(); + + while (principals != Credentials.end()) { + principals->second->Dump(); + ++principals; + } + +} + +void test1() +{ + setupTestCredentials(); + std::cout << "CredentialPersistence test 1" << std::endl; + + int rv = Credentials.Store("/tmp/testCredentials.x9"); + + if (!rv) std::cout << "%TEST_FAILED% time=0 testname=test1 (CredentialPersistence) message=failed to write credentials" << std::endl; + else std::cout << "saved " << rv << " principals." << std::endl; + + dumpCredentials(); +} + +void test2() +{ + std::cout << "CredentialPersistence test 2" << std::endl; + + Credentials.Clear(); + + int rv = Credentials.Load("/tmp/testCredentials.x9"); + + if (!rv) std::cout << "%TEST_FAILED% time=0 testname=test2 (CredentialPersistence) message=failed to load credentials" << std::endl; + else std::cout << "loaded " << rv << " principals." << std::endl; + + dumpCredentials(); +} + +int main(int argc, char** argv) +{ + std::cout << "%SUITE_STARTING% CredentialPersistence" << std::endl; + std::cout << "%SUITE_STARTED%" << std::endl; + + std::cout << "%TEST_STARTED% test1 (CredentialPersistence)" << std::endl; + test1(); + std::cout << "%TEST_FINISHED% time=0 test1 (CredentialPersistence)" << std::endl; + + std::cout << "%TEST_STARTED% test2 (CredentialPersistence)\n" << std::endl; + test2(); + std::cout << "%TEST_FINISHED% time=0 test2 (CredentialPersistence)" << std::endl; + + std::cout << "%SUITE_FINISHED% time=0" << std::endl; + + return (EXIT_SUCCESS); +} + diff --git a/tests/CredentialPersistence/CredentialPersistence.depend b/tests/CredentialPersistence/CredentialPersistence.depend new file mode 100644 index 0000000..c4ac310 --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.depend @@ -0,0 +1 @@ +# depslib dependency file v1.0 diff --git a/tests/CredentialPersistence/CredentialPersistence.layout b/tests/CredentialPersistence/CredentialPersistence.layout new file mode 100644 index 0000000..abb8444 --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.layout @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/CredentialPersistence/CredentialPersistence.layout.save b/tests/CredentialPersistence/CredentialPersistence.layout.save new file mode 100644 index 0000000..abb8444 --- /dev/null +++ b/tests/CredentialPersistence/CredentialPersistence.layout.save @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/JSonTest/JSonTest.cbp b/tests/JSonTest/JSonTest.cbp new file mode 100644 index 0000000..9328615 --- /dev/null +++ b/tests/JSonTest/JSonTest.cbp @@ -0,0 +1,66 @@ + + + + + + diff --git a/tests/JSonTest/JSonTest.cbp.save b/tests/JSonTest/JSonTest.cbp.save new file mode 100644 index 0000000..9328615 --- /dev/null +++ b/tests/JSonTest/JSonTest.cbp.save @@ -0,0 +1,66 @@ + + + + + + diff --git a/tests/JSonTest/JSonTest.cc b/tests/JSonTest/JSonTest.cc new file mode 100644 index 0000000..c4500c1 --- /dev/null +++ b/tests/JSonTest/JSonTest.cc @@ -0,0 +1,68 @@ +/* + * File: JSonTest.cc + * Author: django + * + * Created on 12.07.2012, 07:31:46 + */ + +#include +#include +#include +#include + +/* + * Simple C++ Test Suite + */ + +void test1() +{ + char buf[512] = {0}; + cStringBuilder sb; + cJSonWriter jw(sb); + + std::cout << "JSonTest test 1" << std::endl; + + jw.Object().Key("total").Value(123); + jw.Key("errorCode").Value(-1); + jw.Key("testmode").Value(true); + jw.Key("results").Array(); + + for (int i=0; i < 3; ++i) { + jw.Object().Key("counter").Value(i); + jw.Key("nase").Value("bär"); + jw.EndObject(); + } + jw.EndArray(); + jw.Key("fasel").Value("blub"); + jw.EndObject(); + + std::cout << "size of json-Object: " << sb.Size() << std::endl; + sb.Copy(buf, sizeof(buf)); + + std::cout << "json object looks like" << std::endl << buf << std::endl; +} + +void test2() +{ + std::cout << "JSonTest test 2" << std::endl; + std::cout << "%TEST_FAILED% time=0 testname=test2 (JSonTest) message=error message sample" << std::endl; +} + +int main(int argc, char** argv) +{ + std::cout << "%SUITE_STARTING% JSonTest" << std::endl; + std::cout << "%SUITE_STARTED%" << std::endl; + + std::cout << "%TEST_STARTED% test1 (JSonTest)" << std::endl; + test1(); + std::cout << "%TEST_FINISHED% time=0 test1 (JSonTest)" << std::endl; + +// std::cout << "%TEST_STARTED% test2 (JSonTest)\n" << std::endl; +// test2(); +// std::cout << "%TEST_FINISHED% time=0 test2 (JSonTest)" << std::endl; + + std::cout << "%SUITE_FINISHED% time=0" << std::endl; + + return (EXIT_SUCCESS); +} + diff --git a/tests/JSonTest/JSonTest.depend b/tests/JSonTest/JSonTest.depend new file mode 100644 index 0000000..deeec5d --- /dev/null +++ b/tests/JSonTest/JSonTest.depend @@ -0,0 +1,18 @@ +# depslib dependency file v1.0 +1342071807 source:/d/linux/CMP/tests/JSonTest/JSonTest.cc + + + + + +1342076412 /d/linux/CMP/libs/util/include/StringBuilder.h + + + +1341942404 /d/linux/CMP/libs/util/include/ManagedVector.h + + + +1342076888 /d/linux/CMP/libs/util/include/JSonWriter.h + + diff --git a/tests/JSonTest/JSonTest.layout b/tests/JSonTest/JSonTest.layout new file mode 100644 index 0000000..a4583b3 --- /dev/null +++ b/tests/JSonTest/JSonTest.layout @@ -0,0 +1,9 @@ + + + + + + + + + -- cgit v1.2.3