aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/json/ut/proto2json_ut.cpp
diff options
context:
space:
mode:
authordimastark <dimastark@yandex-team.com>2024-09-30 16:58:58 +0300
committerdimastark <dimastark@yandex-team.com>2024-09-30 17:11:11 +0300
commit4cd5d4661db60c7f096ec51f08bca0ed7aba8f9b (patch)
tree03a54adef9e505da807b2456aeadfc29a2b1ece6 /library/cpp/protobuf/json/ut/proto2json_ut.cpp
parent334072c7351043236bdca34f2ede8ed1cb4a6d79 (diff)
downloadydb-4cd5d4661db60c7f096ec51f08bca0ed7aba8f9b.tar.gz
SortMapKeys in proto2json for deterministic seriarialization
commit_hash:e64dedae589fa2d16347be4d80e2596f46566b38
Diffstat (limited to 'library/cpp/protobuf/json/ut/proto2json_ut.cpp')
-rw-r--r--library/cpp/protobuf/json/ut/proto2json_ut.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/library/cpp/protobuf/json/ut/proto2json_ut.cpp b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
index 9e98ab8a06..f5bcfac49d 100644
--- a/library/cpp/protobuf/json/ut/proto2json_ut.cpp
+++ b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
@@ -997,6 +997,24 @@ Y_UNIT_TEST(TestMapUsingGeneratedAsJSON) {
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
} // TestMapUsingGeneratedAsJSON
+Y_UNIT_TEST(TestMapSortedKeys) {
+ TMapType proto;
+
+ auto& items = *proto.MutableItems();
+ items["key1"] = "value1";
+ items["key2"] = "value2";
+ items["key3"] = "value3";
+
+ TString modelStr(R"_({"Items":{"key1":"value1","key2":"value2","key3":"value3"}})_");
+
+ TStringStream jsonStr;
+
+ auto config = TProto2JsonConfig().SetMapAsObject(true).SetSortMapKeys(false);
+ UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
+
+ UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
+} // TestMapSortedKeys
+
Y_UNIT_TEST(TestMapDefaultValue) {
TMapType proto;