diff options
| author | zousar <[email protected]> | 2025-09-19 23:46:52 -0600 |
|---|---|---|
| committer | zousar <[email protected]> | 2025-09-19 23:46:52 -0600 |
| commit | 7a94b22eafdbd3f394fb9200e713cbb3b2b0cd56 (patch) | |
| tree | 2ff8345484208d100000d8be805ff8f13dd2e7cc /src/zenserver-test/zenserver-test.cpp | |
| parent | fix quoted wildcard options (#500) (diff) | |
| download | zen-7a94b22eafdbd3f394fb9200e713cbb3b2b0cd56.tar.xz zen-7a94b22eafdbd3f394fb9200e713cbb3b2b0cd56.zip | |
Change batch put responses for client reporting
Conflicts are now treated as successes, and we optionally return a Details array instead of an ErrorMessages array. Details are returned for all requests in a batch, or no requests in a batch depending on whether there are any details to be shared about any of the put requests. The details for a conflict include the raw hash and raw size of the item. If the item is a record, we also include the record as an object.
Diffstat (limited to 'src/zenserver-test/zenserver-test.cpp')
| -rw-r--r-- | src/zenserver-test/zenserver-test.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/zenserver-test/zenserver-test.cpp b/src/zenserver-test/zenserver-test.cpp index 79e5db554..1cbd10194 100644 --- a/src/zenserver-test/zenserver-test.cpp +++ b/src/zenserver-test/zenserver-test.cpp @@ -1556,6 +1556,7 @@ TEST_CASE("zcache.rpc") { CHECK(ResponseSuccess); } + CHECK(ParsedResult.Details.empty()); } auto CheckRecordCorrectness = [&](const ZenConfig& Cfg) { @@ -1619,9 +1620,18 @@ TEST_CASE("zcache.rpc") CbPackage Response = ParsePackageMessage(zen::IoBuffer(zen::IoBuffer::Wrap, Result.text.data(), Result.text.size())); CHECK(!Response.IsNull()); CHECK(ParsedResult.Parse(Response)); + CHECK(Request.Requests.size() == ParsedResult.Success.size()); for (bool ResponseSuccess : ParsedResult.Success) { - CHECK(!ResponseSuccess); + CHECK(ResponseSuccess); + } + CHECK(Request.Requests.size() == ParsedResult.Details.size()); + for (const CbObjectView& Details : ParsedResult.Details) + { + CHECK(Details); + CHECK(Details["RawHash"sv].IsHash()); + CHECK(Details["RawSize"sv].IsInteger()); + CHECK(Details["Object"sv].IsObject()); } } @@ -1690,6 +1700,7 @@ TEST_CASE("zcache.rpc") { CHECK(ResponseSuccess); } + CHECK(ParsedResult.Details.empty()); } auto CheckRecordCorrectness = [&](const ZenConfig& Cfg) { @@ -1753,6 +1764,7 @@ TEST_CASE("zcache.rpc") { CHECK(ResponseSuccess); } + CHECK(ParsedResult.Details.empty()); } auto CheckRecordCorrectness = [&](const ZenConfig& Cfg) { |