diff options
| author | Stefan Boberg <[email protected]> | 2021-05-22 11:41:08 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-05-22 11:41:08 +0200 |
| commit | 02c19b524e54bc8f2fc36fecd43310a5ed665fcd (patch) | |
| tree | 4eea19c7fd9ec8293a3d2d771a3ad40ddec17574 /zenserver-test/zenserver-test.cpp | |
| parent | clang-format (diff) | |
| download | zen-02c19b524e54bc8f2fc36fecd43310a5ed665fcd.tar.xz zen-02c19b524e54bc8f2fc36fecd43310a5ed665fcd.zip | |
Structured cache changes
- Changed cachestore to use BasicFile and TCasLog instead of local variants
- Added structured cache persistence tests
Diffstat (limited to 'zenserver-test/zenserver-test.cpp')
| -rw-r--r-- | zenserver-test/zenserver-test.cpp | 69 |
1 files changed, 48 insertions, 21 deletions
diff --git a/zenserver-test/zenserver-test.cpp b/zenserver-test/zenserver-test.cpp index b9fa96ca0..dbe7ac9b9 100644 --- a/zenserver-test/zenserver-test.cpp +++ b/zenserver-test/zenserver-test.cpp @@ -1100,38 +1100,65 @@ TEST_CASE("z$.basic") const uint16_t PortNumber = 13337; - ZenServerInstance Instance1(TestEnv); - Instance1.SetTestDir(TestDir); - Instance1.SpawnServer(PortNumber); - Instance1.WaitUntilReady(); + const int kIterationCount = 100; + const auto BaseUri = "http://localhost:{}/z$"_format(PortNumber); - auto BaseUri = "http://localhost:{}/z$"_format(PortNumber); + { + ZenServerInstance Instance1(TestEnv); + Instance1.SetTestDir(TestDir); + Instance1.SpawnServer(PortNumber); + Instance1.WaitUntilReady(); - // Populate with some simple data + // Populate with some simple data - for (int i = 0; i < 100; ++i) - { - zen::CbObjectWriter Cbo; - Cbo << "index" << i; + for (int i = 0; i < kIterationCount; ++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"}}); - zen::MemoryOutStream MemOut; - zen::BinaryWriter Writer{MemOut}; - Cbo.Save(Writer); + CHECK(Result.status_code == 201); + } + + // Retrieve data + + for (int i = 0; i < kIterationCount; ++i) + { + zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); - zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); + cpr::Response Result = cpr::Get(cpr::Url{"{}/{}/{}"_format(BaseUri, "test", Key)}); - 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"}}); + CHECK(Result.status_code == 200); + } } - // Retrieve data + // Verify that the data persists between process runs (the previous server has exited at this point) - for (int i = 0; i < 100; ++i) { - zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); + ZenServerInstance Instance1(TestEnv); + Instance1.SetTestDir(TestDir); + Instance1.SpawnServer(PortNumber); + Instance1.WaitUntilReady(); - cpr::Response Result = cpr::Get(cpr::Url{"{}/{}/{}"_format(BaseUri, "test", Key)}); + // Retrieve data again + + for (int i = 0; i < kIterationCount; ++i) + { + zen::IoHash Key = zen::IoHash::HashMemory(&i, sizeof i); + + cpr::Response Result = cpr::Get(cpr::Url{"{}/{}/{}"_format(BaseUri, "test", Key)}); + + CHECK(Result.status_code == 200); + } } } |