aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/json/ut/proto2json_ut.cpp
diff options
context:
space:
mode:
authorbbiff <bbiff@yandex-team.com>2022-09-11 00:15:54 +0300
committerbbiff <bbiff@yandex-team.com>2022-09-11 00:15:54 +0300
commit67576a8962c2506b8ee10da48dffba311acb0042 (patch)
tree51a695bbddbb9be4e5a0cc5c7ec558ca233c2be5 /library/cpp/protobuf/json/ut/proto2json_ut.cpp
parenta8945929eb162f6910b228697c3d2db3b7cb2ca9 (diff)
downloadydb-67576a8962c2506b8ee10da48dffba311acb0042.tar.gz
support duration and timestamp as string in json2proto
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 07e52d7f2f..d4d6d374e9 100644
--- a/library/cpp/protobuf/json/ut/proto2json_ut.cpp
+++ b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
@@ -1019,4 +1019,22 @@ Y_UNIT_TEST(TestExtension) {
UNIT_ASSERT_EQUAL(Proto2Json(proto, cfg), "{\"bar\":1}");
} // TestExtension
+Y_UNIT_TEST(TestSimplifiedDuration) {
+ TString json;
+ TSingleDuration simpleDuration;
+ simpleDuration.mutable_duration()->set_seconds(10);
+ simpleDuration.mutable_duration()->set_nanos(101);
+ Proto2Json(simpleDuration, json, TProto2JsonConfig().SetConvertTimeAsString(true));
+ UNIT_ASSERT_EQUAL_C(json, "{\"Duration\":\"10.000000101s\"}", "real value is " << json);
+} // TestSimplifiedDuration
+
+Y_UNIT_TEST(TestSimplifiedTimestamp) {
+ TString json;
+ TSingleTimestamp simpleTimestamp;
+ simpleTimestamp.mutable_timestamp()->set_seconds(10000000);
+ simpleTimestamp.mutable_timestamp()->set_nanos(504);
+ Proto2Json(simpleTimestamp, json, TProto2JsonConfig().SetConvertTimeAsString(true));
+ UNIT_ASSERT_EQUAL_C(json, "{\"Timestamp\":\"1970-04-26T17:46:40.000000504Z\"}", "real value is " << json);
+} // TestSimplifiedTimestamp
+
} // TProto2JsonTest