From 78dbac2648bbfe2a3687f37e06a3ed32241cb809 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Fri, 21 May 2021 20:41:34 +0200 Subject: Partial refactoring of structured cache implementation - WIP --- zenserver-test/zenserver-test.cpp | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'zenserver-test/zenserver-test.cpp') diff --git a/zenserver-test/zenserver-test.cpp b/zenserver-test/zenserver-test.cpp index cb4ff06da..b9fa96ca0 100644 --- a/zenserver-test/zenserver-test.cpp +++ b/zenserver-test/zenserver-test.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -1068,6 +1069,7 @@ TEST_CASE("project.basic") zen::NiceRate(RequestCount, (uint32_t)Elapsed, "req")); } +# if 0 // this is extremely WIP TEST_CASE("project.pipe") { using namespace std::literals; @@ -1088,5 +1090,49 @@ TEST_CASE("project.pipe") zen::CbObject Response = LocalClient.MessageTransaction(Cbow.Save()); } +# endif + +TEST_CASE("z$.basic") +{ + using namespace std::literals; + + std::filesystem::path TestDir = TestEnv.CreateNewTestDir(); + + const uint16_t PortNumber = 13337; + + ZenServerInstance Instance1(TestEnv); + Instance1.SetTestDir(TestDir); + Instance1.SpawnServer(PortNumber); + Instance1.WaitUntilReady(); + + auto BaseUri = "http://localhost:{}/z$"_format(PortNumber); + + // Populate with some simple data + + for (int i = 0; i < 100; ++i) + { + zen::CbObjectWriter Cbo; + Cbo << "index" << i; + + zen::MemoryOutStream MemOut; + zen::BinaryWriter Writer{MemOut}; + Cbo.Save(Writer); + + zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); + + cpr::Response Result = cpr::Put(cpr::Url{"{}/{}/{}"_format(BaseUri, "test", Key)}, + cpr::Body{(const char*)MemOut.Data(), MemOut.Size()}, + cpr::Header{{"Content-Type", "application/x-ue-cb"}}); + } + + // Retrieve data + + for (int i = 0; i < 100; ++i) + { + zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); + + cpr::Response Result = cpr::Get(cpr::Url{"{}/{}/{}"_format(BaseUri, "test", Key)}); + } +} #endif -- cgit v1.2.3