diff options
author | dimastark <dimastark@yandex-team.com> | 2024-09-30 16:58:58 +0300 |
---|---|---|
committer | dimastark <dimastark@yandex-team.com> | 2024-09-30 17:11:11 +0300 |
commit | 4cd5d4661db60c7f096ec51f08bca0ed7aba8f9b (patch) | |
tree | 03a54adef9e505da807b2456aeadfc29a2b1ece6 /library/cpp/protobuf/json/ut/proto2json_ut.cpp | |
parent | 334072c7351043236bdca34f2ede8ed1cb4a6d79 (diff) | |
download | ydb-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.cpp | 18 |
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; |