aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/json/ut
diff options
context:
space:
mode:
authorfamilom <familom@yandex-team.ru>2022-02-10 16:49:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:49 +0300
commit9c61d3a2cac2a16341e82c613b030fcc03bf277a (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/protobuf/json/ut
parentf281aaf77179d27d6208b873e95ae6cd45765a63 (diff)
downloadydb-9c61d3a2cac2a16341e82c613b030fcc03bf277a.tar.gz
Restoring authorship annotation for <familom@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/protobuf/json/ut')
-rw-r--r--library/cpp/protobuf/json/ut/fields.incl38
-rw-r--r--library/cpp/protobuf/json/ut/json.h50
-rw-r--r--library/cpp/protobuf/json/ut/json2proto_ut.cpp84
-rw-r--r--library/cpp/protobuf/json/ut/proto.h32
-rw-r--r--library/cpp/protobuf/json/ut/proto2json_ut.cpp204
-rw-r--r--library/cpp/protobuf/json/ut/repeated_fields.incl34
-rw-r--r--library/cpp/protobuf/json/ut/test.proto176
-rw-r--r--library/cpp/protobuf/json/ut/ya.make16
8 files changed, 317 insertions, 317 deletions
diff --git a/library/cpp/protobuf/json/ut/fields.incl b/library/cpp/protobuf/json/ut/fields.incl
index de255a08da..4b22985836 100644
--- a/library/cpp/protobuf/json/ut/fields.incl
+++ b/library/cpp/protobuf/json/ut/fields.incl
@@ -1,22 +1,22 @@
-// Intentionally no #pragma once
-
-// (Field name == JSON key, Value)
-DEFINE_FIELD(I32, Min<i32>())
-DEFINE_FIELD(I64, Min<i64>())
-DEFINE_FIELD(UI32, Max<ui32>())
-DEFINE_FIELD(UI64, Max<ui64>())
-DEFINE_FIELD(SI32, Min<i32>())
-DEFINE_FIELD(SI64, Min<i64>())
-DEFINE_FIELD(FI32, Max<ui32>())
-DEFINE_FIELD(FI64, Max<ui64>())
-DEFINE_FIELD(SFI32, Min<i32>())
-DEFINE_FIELD(SFI64, Min<i64>())
-DEFINE_FIELD(Bool, true)
-DEFINE_FIELD(String, "Lorem ipsum")
-DEFINE_FIELD(Bytes, "מחשב")
-DEFINE_FIELD(Enum, E_1)
-DEFINE_FIELD(Float, 1.123f)
-DEFINE_FIELD(Double, 1.123456789012)
+// Intentionally no #pragma once
+
+// (Field name == JSON key, Value)
+DEFINE_FIELD(I32, Min<i32>())
+DEFINE_FIELD(I64, Min<i64>())
+DEFINE_FIELD(UI32, Max<ui32>())
+DEFINE_FIELD(UI64, Max<ui64>())
+DEFINE_FIELD(SI32, Min<i32>())
+DEFINE_FIELD(SI64, Min<i64>())
+DEFINE_FIELD(FI32, Max<ui32>())
+DEFINE_FIELD(FI64, Max<ui64>())
+DEFINE_FIELD(SFI32, Min<i32>())
+DEFINE_FIELD(SFI64, Min<i64>())
+DEFINE_FIELD(Bool, true)
+DEFINE_FIELD(String, "Lorem ipsum")
+DEFINE_FIELD(Bytes, "מחשב")
+DEFINE_FIELD(Enum, E_1)
+DEFINE_FIELD(Float, 1.123f)
+DEFINE_FIELD(Double, 1.123456789012)
DEFINE_FIELD(OneString, "Lorem ipsum dolor")
DEFINE_FIELD(OneTwoString, "Lorem ipsum dolor sit")
DEFINE_FIELD(ABC, "abc")
diff --git a/library/cpp/protobuf/json/ut/json.h b/library/cpp/protobuf/json/ut/json.h
index 4f942f347b..c1f108e6e4 100644
--- a/library/cpp/protobuf/json/ut/json.h
+++ b/library/cpp/protobuf/json/ut/json.h
@@ -1,34 +1,34 @@
-#pragma once
-
+#pragma once
+
#include <library/cpp/protobuf/json/ut/test.pb.h>
-
+
#include <library/cpp/json/json_value.h>
-
-#include <cstdarg>
-
-#include <util/generic/hash_set.h>
+
+#include <cstdarg>
+
+#include <util/generic/hash_set.h>
#include <util/generic/string.h>
-
-#include <util/system/defaults.h>
-
-namespace NProtobufJsonTest {
+
+#include <util/system/defaults.h>
+
+namespace NProtobufJsonTest {
inline NJson::TJsonValue
CreateFlatJson(const THashSet<TString>& skippedKeys = THashSet<TString>()) {
NJson::TJsonValue json;
-
+
#define DEFINE_FIELD(name, value) \
if (skippedKeys.find(#name) == skippedKeys.end()) \
- json.InsertValue(#name, value);
-#include "fields.incl"
-#undef DEFINE_FIELD
-
+ json.InsertValue(#name, value);
+#include "fields.incl"
+#undef DEFINE_FIELD
+
return json;
}
-
+
inline NJson::TJsonValue
CreateRepeatedFlatJson(const THashSet<TString>& skippedKeys = THashSet<TString>()) {
NJson::TJsonValue json;
-
+
#define DEFINE_REPEATED_FIELD(name, type, ...) \
if (skippedKeys.find(#name) == skippedKeys.end()) { \
type values[] = {__VA_ARGS__}; \
@@ -37,22 +37,22 @@ namespace NProtobufJsonTest {
array.AppendValue(values[i]); \
} \
json.InsertValue(#name, array); \
- }
-#include "repeated_fields.incl"
-#undef DEFINE_REPEATED_FIELD
-
+ }
+#include "repeated_fields.incl"
+#undef DEFINE_REPEATED_FIELD
+
return json;
}
-
+
inline NJson::TJsonValue
CreateCompositeJson(const THashSet<TString>& skippedKeys = THashSet<TString>()) {
const NJson::TJsonValue& part = CreateFlatJson(skippedKeys);
NJson::TJsonValue json;
json.InsertValue("Part", part);
-
+
return json;
}
-
+
#define UNIT_ASSERT_JSONS_EQUAL(lhs, rhs) \
if (lhs != rhs) { \
UNIT_ASSERT_STRINGS_EQUAL(lhs.GetStringRobust(), rhs.GetStringRobust()); \
diff --git a/library/cpp/protobuf/json/ut/json2proto_ut.cpp b/library/cpp/protobuf/json/ut/json2proto_ut.cpp
index 4752d2dfa6..0dfe57bc7a 100644
--- a/library/cpp/protobuf/json/ut/json2proto_ut.cpp
+++ b/library/cpp/protobuf/json/ut/json2proto_ut.cpp
@@ -1,28 +1,28 @@
-#include "json.h"
-#include "proto.h"
+#include "json.h"
+#include "proto.h"
#include "proto2json.h"
-
+
#include <library/cpp/protobuf/json/ut/test.pb.h>
#include <library/cpp/json/json_value.h>
#include <library/cpp/json/json_reader.h>
#include <library/cpp/json/json_writer.h>
-
+
#include <library/cpp/protobuf/json/json2proto.h>
-
+
#include <library/cpp/testing/unittest/registar.h>
-
-#include <util/generic/hash_set.h>
+
+#include <util/generic/hash_set.h>
#include <util/generic/string.h>
-#include <util/generic/ylimits.h>
-#include <util/stream/str.h>
+#include <util/generic/ylimits.h>
+#include <util/stream/str.h>
#include <util/string/cast.h>
-#include <util/system/defaults.h>
-#include <util/system/yassert.h>
-
-using namespace NProtobufJson;
-using namespace NProtobufJsonTest;
-
+#include <util/system/defaults.h>
+#include <util/system/yassert.h>
+
+using namespace NProtobufJson;
+using namespace NProtobufJsonTest;
+
namespace google {
namespace protobuf {
namespace internal {
@@ -79,7 +79,7 @@ Y_UNIT_TEST_SUITE(TJson2ProtoTest) {
FillFlatProto(&modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -93,9 +93,9 @@ Y_UNIT_TEST_SUITE(TJson2ProtoTest) {
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto); \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestFlatOptional
-
+
Y_UNIT_TEST(TestFlatRequired){
{const NJson::TJsonValue& json = CreateFlatJson();
TFlatRequired proto;
@@ -104,7 +104,7 @@ TFlatRequired modelProto;
FillFlatProto(&modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -115,9 +115,9 @@ UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
UNIT_ASSERT_EXCEPTION(Json2Proto(json, proto), yexception); \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestFlatRequired
-
+
Y_UNIT_TEST(TestNameGenerator) {
TJson2ProtoConfig cfg;
cfg.SetNameGenerator([](const NProtoBuf::FieldDescriptor&) { return "42"; });
@@ -165,7 +165,7 @@ TFlatRepeated modelProto;
FillRepeatedProto(&modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
// Try to skip each field
#define DEFINE_REPEATED_FIELD(name, ...) \
{ \
@@ -179,9 +179,9 @@ UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto); \
}
#include <library/cpp/protobuf/json/ut/repeated_fields.incl>
-#undef DEFINE_REPEATED_FIELD
+#undef DEFINE_REPEATED_FIELD
} // TestFlatRepeated
-
+
Y_UNIT_TEST(TestCompositeOptional){
{const NJson::TJsonValue& json = CreateCompositeJson();
TCompositeOptional proto;
@@ -190,7 +190,7 @@ TCompositeOptional modelProto;
FillCompositeProto(&modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -204,9 +204,9 @@ UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto); \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestCompositeOptional
-
+
Y_UNIT_TEST(TestCompositeOptionalStringBuf){
{NJson::TJsonValue json = CreateCompositeJson();
json["Part"]["Double"] = 42.5;
@@ -249,37 +249,37 @@ Y_UNIT_TEST(TestCompositeRequired) {
FillCompositeProto(&modelProto);
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
{
NJson::TJsonValue json;
TCompositeRequired proto;
UNIT_ASSERT_EXCEPTION(Json2Proto(json, proto), yexception);
}
} // TestCompositeRequired
-
+
Y_UNIT_TEST(TestCompositeRepeated) {
{
NJson::TJsonValue json;
NJson::TJsonValue array;
array.AppendValue(CreateFlatJson());
json.InsertValue("Part", array);
-
+
TCompositeRepeated proto;
Json2Proto(json, proto);
-
+
TFlatOptional partModelProto;
FillFlatProto(&partModelProto);
TCompositeRepeated modelProto;
modelProto.AddPart()->CopyFrom(partModelProto);
-
+
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
-
+
{
// Array of messages with each field skipped
TCompositeRepeated modelProto;
NJson::TJsonValue array;
-
+
#define DEFINE_REPEATED_FIELD(name, ...) \
{ \
THashSet<TString> skippedField; \
@@ -290,18 +290,18 @@ Y_UNIT_TEST(TestCompositeRepeated) {
array.AppendValue(CreateFlatJson(skippedField)); \
}
#include <library/cpp/protobuf/json/ut/repeated_fields.incl>
-#undef DEFINE_REPEATED_FIELD
-
+#undef DEFINE_REPEATED_FIELD
+
NJson::TJsonValue json;
json.InsertValue("Part", array);
-
+
TCompositeRepeated proto;
Json2Proto(json, proto);
-
+
UNIT_ASSERT_PROTOS_EQUAL(proto, modelProto);
}
} // TestCompositeRepeated
-
+
Y_UNIT_TEST(TestInvalidEnum) {
{
NJson::TJsonValue json;
@@ -309,13 +309,13 @@ Y_UNIT_TEST(TestInvalidEnum) {
TFlatOptional proto;
UNIT_ASSERT_EXCEPTION(Json2Proto(json, proto), yexception);
}
-
+
{
NJson::TJsonValue json;
json.InsertValue("Enum", 100);
TFlatOptional proto;
UNIT_ASSERT_EXCEPTION(Json2Proto(json, proto), yexception);
- }
+ }
}
Y_UNIT_TEST(TestFieldNameMode) {
@@ -1144,4 +1144,4 @@ Y_UNIT_TEST(TestAllowComments) {
UNIT_ASSERT_VALUES_EQUAL(proto.GetI64(), 3423);
} // TestAllowComments
-} // TJson2ProtoTest
+} // TJson2ProtoTest
diff --git a/library/cpp/protobuf/json/ut/proto.h b/library/cpp/protobuf/json/ut/proto.h
index db27ed52c7..8183bfc8e1 100644
--- a/library/cpp/protobuf/json/ut/proto.h
+++ b/library/cpp/protobuf/json/ut/proto.h
@@ -1,11 +1,11 @@
-#pragma once
-
-#include <util/generic/hash_set.h>
+#pragma once
+
+#include <util/generic/hash_set.h>
#include <util/generic/string.h>
-
-#include <util/system/defaults.h>
-
-namespace NProtobufJsonTest {
+
+#include <util/system/defaults.h>
+
+namespace NProtobufJsonTest {
template <typename TProto>
inline void
FillFlatProto(TProto* proto,
@@ -14,20 +14,20 @@ namespace NProtobufJsonTest {
if (skippedFields.find(#name) == skippedFields.end()) \
proto->Set##name(value);
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
}
-
+
template <typename TRepeatedField, typename TValue>
inline void
AddValue(TRepeatedField* field, TValue value) {
field->Add(value);
}
-
+
inline void
AddValue(google::protobuf::RepeatedPtrField<TString>* field, const TString& value) {
*(field->Add()) = value;
}
-
+
inline void
FillRepeatedProto(TFlatRepeated* proto,
const THashSet<TString>& skippedFields = THashSet<TString>()) {
@@ -37,17 +37,17 @@ namespace NProtobufJsonTest {
for (size_t i = 0, end = Y_ARRAY_SIZE(values); i < end; ++i) { \
AddValue(proto->Mutable##name(), values[i]); \
} \
- }
+ }
#include <library/cpp/protobuf/json/ut/repeated_fields.incl>
-#undef DEFINE_REPEATED_FIELD
+#undef DEFINE_REPEATED_FIELD
}
-
+
template <typename TProto>
inline void
FillCompositeProto(TProto* proto, const THashSet<TString>& skippedFields = THashSet<TString>()) {
FillFlatProto(proto->MutablePart(), skippedFields);
}
-
+
#define UNIT_ASSERT_PROTOS_EQUAL(lhs, rhs) \
do { \
if (lhs.SerializeAsString() != rhs.SerializeAsString()) { \
@@ -58,5 +58,5 @@ namespace NProtobufJsonTest {
UNIT_ASSERT_STRINGS_EQUAL(lhs.SerializeAsString(), rhs.SerializeAsString()); \
} \
} while (false);
-
+
}
diff --git a/library/cpp/protobuf/json/ut/proto2json_ut.cpp b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
index 0de60cbe8c..07e52d7f2f 100644
--- a/library/cpp/protobuf/json/ut/proto2json_ut.cpp
+++ b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
@@ -1,30 +1,30 @@
-#include "json.h"
-#include "proto.h"
-
+#include "json.h"
+#include "proto.h"
+
#include <library/cpp/protobuf/json/ut/test.pb.h>
#include <library/cpp/json/json_value.h>
#include <library/cpp/json/json_reader.h>
#include <library/cpp/json/json_writer.h>
-
+
#include <library/cpp/protobuf/json/proto2json.h>
-
+
#include <library/cpp/testing/unittest/registar.h>
-
-#include <util/generic/hash_set.h>
+
+#include <util/generic/hash_set.h>
#include <util/generic/string.h>
-#include <util/generic/ylimits.h>
-
-#include <util/stream/str.h>
-
-#include <util/system/defaults.h>
-#include <util/system/yassert.h>
-
+#include <util/generic/ylimits.h>
+
+#include <util/stream/str.h>
+
+#include <util/system/defaults.h>
+#include <util/system/yassert.h>
+
#include <limits>
-using namespace NProtobufJson;
-using namespace NProtobufJsonTest;
-
+using namespace NProtobufJson;
+using namespace NProtobufJsonTest;
+
Y_UNIT_TEST_SUITE(TProto2JsonFlatTest) {
Y_UNIT_TEST(TestFlatDefault) {
using namespace ::google::protobuf;
@@ -109,7 +109,7 @@ Y_UNIT_TEST_SUITE(TProto2JsonFlatTest) {
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TStringStream jsonStream;
NJson::TJsonValue json;
@@ -118,7 +118,7 @@ Y_UNIT_TEST_SUITE(TProto2JsonFlatTest) {
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -138,9 +138,9 @@ Y_UNIT_TEST_SUITE(TProto2JsonFlatTest) {
} \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestFlatOptional
-
+
Y_UNIT_TEST(TestFlatRequired){
{TFlatRequired proto;
FillFlatProto(&proto);
@@ -150,7 +150,7 @@ const NJson::TJsonValue& modelJson = CreateFlatJson();
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TStringStream jsonStream;
NJson::TJsonValue json;
@@ -159,7 +159,7 @@ const NJson::TJsonValue& modelJson = CreateFlatJson();
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -179,20 +179,20 @@ const NJson::TJsonValue& modelJson = CreateFlatJson();
} \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestFlatRequired
-
+
Y_UNIT_TEST(TestFlatRepeated) {
{
TFlatRepeated proto;
FillRepeatedProto(&proto);
const NJson::TJsonValue& modelJson = CreateRepeatedFlatJson();
- {
+ {
NJson::TJsonValue json;
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
- }
-
+ }
+
{
TStringStream jsonStream;
NJson::TJsonValue json;
@@ -224,9 +224,9 @@ Y_UNIT_TEST(TestFlatRepeated) {
} \
}
#include <library/cpp/protobuf/json/ut/repeated_fields.incl>
-#undef DEFINE_REPEATED_FIELD
+#undef DEFINE_REPEATED_FIELD
} // TestFlatRepeated
-
+
Y_UNIT_TEST(TestCompositeOptional){
{TCompositeOptional proto;
FillCompositeProto(&proto);
@@ -236,7 +236,7 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TStringStream jsonStream;
NJson::TJsonValue json;
@@ -245,7 +245,7 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -265,9 +265,9 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
} \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestCompositeOptional
-
+
Y_UNIT_TEST(TestCompositeRequired){
{TCompositeRequired proto;
FillCompositeProto(&proto);
@@ -277,7 +277,7 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TStringStream jsonStream;
NJson::TJsonValue json;
@@ -286,7 +286,7 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
-
+
// Try to skip each field
#define DEFINE_FIELD(name, value) \
{ \
@@ -306,9 +306,9 @@ const NJson::TJsonValue& modelJson = CreateCompositeJson();
} \
}
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
+#undef DEFINE_FIELD
} // TestCompositeRequired
-
+
Y_UNIT_TEST(TestCompositeRepeated) {
{
TFlatOptional partProto;
@@ -320,13 +320,13 @@ Y_UNIT_TEST(TestCompositeRepeated) {
NJson::TJsonValue modelArray;
modelArray.AppendValue(CreateFlatJson());
modelJson.InsertValue("Part", modelArray);
- {
+ {
NJson::TJsonValue json;
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
- }
-
- {
+ }
+
+ {
TStringStream jsonStream;
NJson::TJsonValue json;
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStream));
@@ -334,7 +334,7 @@ Y_UNIT_TEST(TestCompositeRepeated) {
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
-
+
{
// Array of messages with each field skipped
TCompositeRepeated proto;
@@ -350,27 +350,27 @@ Y_UNIT_TEST(TestCompositeRepeated) {
modelArray.AppendValue(CreateFlatJson(skippedField)); \
}
#include <library/cpp/protobuf/json/ut/repeated_fields.incl>
-#undef DEFINE_REPEATED_FIELD
-
+#undef DEFINE_REPEATED_FIELD
+
NJson::TJsonValue modelJson;
modelJson.InsertValue("Part", modelArray);
-
- {
- NJson::TJsonValue json;
+
+ {
+ NJson::TJsonValue json;
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
- }
-
- {
+ }
+
+ {
TStringStream jsonStream;
- NJson::TJsonValue json;
+ NJson::TJsonValue json;
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStream));
UNIT_ASSERT(ReadJsonTree(&jsonStream, &json));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
} // streamed
}
} // TestCompositeRepeated
-
+
Y_UNIT_TEST(TestEnumConfig) {
{
TFlatOptional proto;
@@ -380,11 +380,11 @@ Y_UNIT_TEST(TestEnumConfig) {
NJson::TJsonValue json;
TProto2JsonConfig config;
config.EnumMode = TProto2JsonConfig::EnumNumber;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TFlatOptional proto;
proto.SetEnum(E_1);
@@ -393,11 +393,11 @@ Y_UNIT_TEST(TestEnumConfig) {
NJson::TJsonValue json;
TProto2JsonConfig config;
config.EnumMode = TProto2JsonConfig::EnumName;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TFlatOptional proto;
proto.SetEnum(E_1);
@@ -406,11 +406,11 @@ Y_UNIT_TEST(TestEnumConfig) {
NJson::TJsonValue json;
TProto2JsonConfig config;
config.EnumMode = TProto2JsonConfig::EnumFullName;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TFlatOptional proto;
proto.SetEnum(E_1);
@@ -419,11 +419,11 @@ Y_UNIT_TEST(TestEnumConfig) {
NJson::TJsonValue json;
TProto2JsonConfig config;
config.EnumMode = TProto2JsonConfig::EnumNameLowerCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
TFlatOptional proto;
proto.SetEnum(E_1);
@@ -455,13 +455,13 @@ Y_UNIT_TEST(TestMissingSingleKeyConfig) {
#define DEFINE_FIELD(name, value) \
modelJson.InsertValue(#name, NJson::TJsonValue(NJson::JSON_NULL));
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
-
+#undef DEFINE_FIELD
+
TFlatOptional proto;
NJson::TJsonValue json;
TProto2JsonConfig config;
config.MissingSingleKeyMode = TProto2JsonConfig::MissingKeyNull;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
@@ -512,7 +512,7 @@ Y_UNIT_TEST(TestMissingSingleKeyConfig) {
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
} // TestMissingSingleKeyConfig
-
+
Y_UNIT_TEST(TestMissingRepeatedKeyNoConfig) {
{
TFlatRepeated proto;
@@ -531,23 +531,23 @@ Y_UNIT_TEST(TestMissingRepeatedKeyConfig) {
NJson::TJsonValue json;
TProto2JsonConfig config;
config.MissingRepeatedKeyMode = TProto2JsonConfig::MissingKeySkip;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
-
+
{
NJson::TJsonValue modelJson;
#define DEFINE_FIELD(name, value) \
modelJson.InsertValue(#name, NJson::TJsonValue(NJson::JSON_NULL));
#include <library/cpp/protobuf/json/ut/fields.incl>
-#undef DEFINE_FIELD
-
+#undef DEFINE_FIELD
+
TFlatRepeated proto;
NJson::TJsonValue json;
TProto2JsonConfig config;
config.MissingRepeatedKeyMode = TProto2JsonConfig::MissingKeyNull;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, json, config));
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
@@ -563,63 +563,63 @@ Y_UNIT_TEST(TestMissingRepeatedKeyConfig) {
UNIT_ASSERT_JSONS_EQUAL(json, modelJson);
}
} // TestMissingRepeatedKeyConfig
-
+
Y_UNIT_TEST(TestEscaping) {
// No escape
{
TString modelStr(R"_({"String":"value\""})_");
-
+
TFlatOptional proto;
proto.SetString(R"_(value")_");
TStringStream jsonStr;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// TEscapeJTransform
{
TString modelStr(R"_({"String":"value\""})_");
-
+
TFlatOptional proto;
proto.SetString(R"_(value")_");
TProto2JsonConfig config;
config.StringTransforms.push_back(new TEscapeJTransform<false, true>());
TStringStream jsonStr;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(modelStr, jsonStr.Str());
}
-
+
// TCEscapeTransform
{
TString modelStr(R"_({"String":"value\""})_");
-
+
TFlatOptional proto;
proto.SetString(R"_(value")_");
TProto2JsonConfig config;
config.StringTransforms.push_back(new TCEscapeTransform());
TStringStream jsonStr;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// TSafeUtf8CEscapeTransform
{
TString modelStr(R"_({"String":"value\""})_");
-
+
TFlatOptional proto;
proto.SetString(R"_(value")_");
TProto2JsonConfig config;
config.StringTransforms.push_back(new TSafeUtf8CEscapeTransform());
TStringStream jsonStr;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
} // TestEscaping
-
+
class TBytesTransform: public IStringTransform {
public:
int GetType() const override {
@@ -666,58 +666,58 @@ Y_UNIT_TEST(TestFieldNameMode) {
// Original case 1
{
TString modelStr(R"_({"String":"value"})_");
-
+
TFlatOptional proto;
proto.SetString("value");
TStringStream jsonStr;
TProto2JsonConfig config;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// Original case 2
{
TString modelStr(R"_({"String":"value"})_");
-
+
TFlatOptional proto;
proto.SetString("value");
TStringStream jsonStr;
TProto2JsonConfig config;
config.FieldNameMode = TProto2JsonConfig::FieldNameOriginalCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// Lowercase
{
TString modelStr(R"_({"string":"value"})_");
-
+
TFlatOptional proto;
proto.SetString("value");
TStringStream jsonStr;
TProto2JsonConfig config;
config.FieldNameMode = TProto2JsonConfig::FieldNameLowerCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// Uppercase
{
TString modelStr(R"_({"STRING":"value"})_");
-
+
TFlatOptional proto;
proto.SetString("value");
TStringStream jsonStr;
TProto2JsonConfig config;
config.FieldNameMode = TProto2JsonConfig::FieldNameUpperCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// Camelcase
{
TString modelStr(R"_({"string":"value"})_");
@@ -825,33 +825,33 @@ Y_UNIT_TEST(TestFieldNameMode) {
// Original case, repeated
{
TString modelStr(R"_({"I32":[1,2]})_");
-
+
TFlatRepeated proto;
proto.AddI32(1);
proto.AddI32(2);
TStringStream jsonStr;
TProto2JsonConfig config;
config.FieldNameMode = TProto2JsonConfig::FieldNameOriginalCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// Lower case, repeated
{
TString modelStr(R"_({"i32":[1,2]})_");
-
+
TFlatRepeated proto;
proto.AddI32(1);
proto.AddI32(2);
TStringStream jsonStr;
TProto2JsonConfig config;
config.FieldNameMode = TProto2JsonConfig::FieldNameLowerCase;
-
+
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
}
-
+
// UseJsonName
{
// FIXME(CONTRIB-139): see the comment about UseJsonName in json2proto_ut.cpp:
@@ -1019,4 +1019,4 @@ Y_UNIT_TEST(TestExtension) {
UNIT_ASSERT_EQUAL(Proto2Json(proto, cfg), "{\"bar\":1}");
} // TestExtension
-} // TProto2JsonTest
+} // TProto2JsonTest
diff --git a/library/cpp/protobuf/json/ut/repeated_fields.incl b/library/cpp/protobuf/json/ut/repeated_fields.incl
index 53c1dc94a7..e9548917d8 100644
--- a/library/cpp/protobuf/json/ut/repeated_fields.incl
+++ b/library/cpp/protobuf/json/ut/repeated_fields.incl
@@ -1,21 +1,21 @@
-// Intentionally no #pragma once
-
-// (Field name == JSON key, Type, Values...)
-DEFINE_REPEATED_FIELD(I32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
-DEFINE_REPEATED_FIELD(I64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
-DEFINE_REPEATED_FIELD(UI32, ui32, 0ul, 1ul, Max<ui32>())
-DEFINE_REPEATED_FIELD(UI64, ui64, 0ull, 1ull, Max<ui64>())
-DEFINE_REPEATED_FIELD(SI32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
-DEFINE_REPEATED_FIELD(SI64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
-DEFINE_REPEATED_FIELD(FI32, ui32, 0, 1, Max<ui32>())
-DEFINE_REPEATED_FIELD(FI64, ui64, 0ull, 1ull, Max<ui64>())
-DEFINE_REPEATED_FIELD(SFI32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
-DEFINE_REPEATED_FIELD(SFI64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
-DEFINE_REPEATED_FIELD(Bool, bool, false, true)
+// Intentionally no #pragma once
+
+// (Field name == JSON key, Type, Values...)
+DEFINE_REPEATED_FIELD(I32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
+DEFINE_REPEATED_FIELD(I64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
+DEFINE_REPEATED_FIELD(UI32, ui32, 0ul, 1ul, Max<ui32>())
+DEFINE_REPEATED_FIELD(UI64, ui64, 0ull, 1ull, Max<ui64>())
+DEFINE_REPEATED_FIELD(SI32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
+DEFINE_REPEATED_FIELD(SI64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
+DEFINE_REPEATED_FIELD(FI32, ui32, 0, 1, Max<ui32>())
+DEFINE_REPEATED_FIELD(FI64, ui64, 0ull, 1ull, Max<ui64>())
+DEFINE_REPEATED_FIELD(SFI32, i32, Min<i32>(), -1, 0, 1, Max<i32>())
+DEFINE_REPEATED_FIELD(SFI64, i64, Min<i64>(), -1ll, 0ll, 1ll, Max<i64>())
+DEFINE_REPEATED_FIELD(Bool, bool, false, true)
DEFINE_REPEATED_FIELD(String, TString, "", "Lorem ipsum", "123123")
DEFINE_REPEATED_FIELD(Bytes, TString, "", "מחשב", "\x1")
-DEFINE_REPEATED_FIELD(Enum, EEnum, E_1, E_2, E_3)
-DEFINE_REPEATED_FIELD(Float, float, 0.0f, 1.0f, 1.123f)
-DEFINE_REPEATED_FIELD(Double, double, 0.0, 1.0, 1.123456789012)
+DEFINE_REPEATED_FIELD(Enum, EEnum, E_1, E_2, E_3)
+DEFINE_REPEATED_FIELD(Float, float, 0.0f, 1.0f, 1.123f)
+DEFINE_REPEATED_FIELD(Double, double, 0.0, 1.0, 1.123456789012)
DEFINE_REPEATED_FIELD(OneString, TString, "", "Lorem ipsum dolor", "1231231")
DEFINE_REPEATED_FIELD(OneTwoString, TString, "", "Lorem ipsum dolor sit", "12312312")
diff --git a/library/cpp/protobuf/json/ut/test.proto b/library/cpp/protobuf/json/ut/test.proto
index fab7b6a5f2..0fa996fd41 100644
--- a/library/cpp/protobuf/json/ut/test.proto
+++ b/library/cpp/protobuf/json/ut/test.proto
@@ -1,96 +1,96 @@
-package NProtobufJsonTest;
-
-enum EEnum {
+package NProtobufJsonTest;
+
+enum EEnum {
E_0 = 0;
- E_1 = 1;
- E_2 = 2;
- E_3 = 3;
-};
-
-message TFlatOptional {
- optional int32 I32 = 1;
- optional int64 I64 = 2;
- optional uint32 UI32 = 3;
- optional uint64 UI64 = 4;
- optional sint32 SI32 = 5;
- optional sint64 SI64 = 6;
- optional fixed32 FI32 = 7;
- optional fixed64 FI64 = 8;
- optional sfixed32 SFI32 = 9;
- optional sfixed64 SFI64 = 10;
-
- optional bool Bool = 11;
-
- optional string String = 12;
- optional bytes Bytes = 13;
-
- optional EEnum Enum = 14;
-
- optional float Float = 15;
- optional double Double = 16;
+ E_1 = 1;
+ E_2 = 2;
+ E_3 = 3;
+};
+
+message TFlatOptional {
+ optional int32 I32 = 1;
+ optional int64 I64 = 2;
+ optional uint32 UI32 = 3;
+ optional uint64 UI64 = 4;
+ optional sint32 SI32 = 5;
+ optional sint64 SI64 = 6;
+ optional fixed32 FI32 = 7;
+ optional fixed64 FI64 = 8;
+ optional sfixed32 SFI32 = 9;
+ optional sfixed64 SFI64 = 10;
+
+ optional bool Bool = 11;
+
+ optional string String = 12;
+ optional bytes Bytes = 13;
+
+ optional EEnum Enum = 14;
+
+ optional float Float = 15;
+ optional double Double = 16;
optional string OneString = 17;
optional string OneTwoString = 18;
optional string ABC = 19;
optional string UserID = 20;
-};
-
-message TFlatRequired {
- required int32 I32 = 1;
- required int64 I64 = 2;
- required uint32 UI32 = 3;
- required uint64 UI64 = 4;
- required sint32 SI32 = 5;
- required sint64 SI64 = 6;
- required fixed32 FI32 = 7;
- required fixed64 FI64 = 8;
- required sfixed32 SFI32 = 9;
- required sfixed64 SFI64 = 10;
-
- required bool Bool = 11;
-
- required string String = 12;
- required bytes Bytes = 13;
-
- required EEnum Enum = 14;
-
- required float Float = 15;
- required double Double = 16;
+};
+
+message TFlatRequired {
+ required int32 I32 = 1;
+ required int64 I64 = 2;
+ required uint32 UI32 = 3;
+ required uint64 UI64 = 4;
+ required sint32 SI32 = 5;
+ required sint64 SI64 = 6;
+ required fixed32 FI32 = 7;
+ required fixed64 FI64 = 8;
+ required sfixed32 SFI32 = 9;
+ required sfixed64 SFI64 = 10;
+
+ required bool Bool = 11;
+
+ required string String = 12;
+ required bytes Bytes = 13;
+
+ required EEnum Enum = 14;
+
+ required float Float = 15;
+ required double Double = 16;
required string OneString = 17;
required string OneTwoString = 18;
required string ABC = 19;
required string UserID = 20;
-};
-
-message TFlatRepeated {
- repeated int32 I32 = 1;
- repeated int64 I64 = 2;
- repeated uint32 UI32 = 3;
- repeated uint64 UI64 = 4;
- repeated sint32 SI32 = 5;
- repeated sint64 SI64 = 6;
- repeated fixed32 FI32 = 7;
- repeated fixed64 FI64 = 8;
- repeated sfixed32 SFI32 = 9;
- repeated sfixed64 SFI64 = 10;
-
- repeated bool Bool = 11;
-
- repeated string String = 12;
- repeated bytes Bytes = 13;
-
- repeated EEnum Enum = 14;
-
- repeated float Float = 15;
- repeated double Double = 16;
+};
+
+message TFlatRepeated {
+ repeated int32 I32 = 1;
+ repeated int64 I64 = 2;
+ repeated uint32 UI32 = 3;
+ repeated uint64 UI64 = 4;
+ repeated sint32 SI32 = 5;
+ repeated sint64 SI64 = 6;
+ repeated fixed32 FI32 = 7;
+ repeated fixed64 FI64 = 8;
+ repeated sfixed32 SFI32 = 9;
+ repeated sfixed64 SFI64 = 10;
+
+ repeated bool Bool = 11;
+
+ repeated string String = 12;
+ repeated bytes Bytes = 13;
+
+ repeated EEnum Enum = 14;
+
+ repeated float Float = 15;
+ repeated double Double = 16;
repeated string OneString = 17;
repeated string OneTwoString = 18;
repeated string ABC = 19;
repeated string UserID = 20;
-};
-
+};
+
message TFlatDefault {
optional int32 I32 = 1 [default = 132];
optional int64 I64 = 2 [default = 164];
@@ -119,17 +119,17 @@ message TFlatDefault {
optional string UserID = 20 [default = "some_id"];
};
-message TCompositeOptional {
- optional TFlatOptional Part = 1;
-};
-
-message TCompositeRequired {
- required TFlatRequired Part = 1;
-};
-
-message TCompositeRepeated {
- repeated TFlatOptional Part = 1;
-};
+message TCompositeOptional {
+ optional TFlatOptional Part = 1;
+};
+
+message TCompositeRequired {
+ required TFlatRequired Part = 1;
+};
+
+message TCompositeRepeated {
+ repeated TFlatOptional Part = 1;
+};
message TMapType {
map<string, string> Items = 1;
diff --git a/library/cpp/protobuf/json/ut/ya.make b/library/cpp/protobuf/json/ut/ya.make
index 8f224e22fa..b60a6d3c17 100644
--- a/library/cpp/protobuf/json/ut/ya.make
+++ b/library/cpp/protobuf/json/ut/ya.make
@@ -1,23 +1,23 @@
UNITTEST_FOR(library/cpp/protobuf/json)
-
+
OWNER(avitella)
-SRCS(
+SRCS(
filter_ut.cpp
- json2proto_ut.cpp
- proto2json_ut.cpp
+ json2proto_ut.cpp
+ proto2json_ut.cpp
inline_ut.proto
inline_ut.cpp
string_transform_ut.cpp
filter_ut.proto
test.proto
util_ut.cpp
-)
-
+)
+
GENERATE_ENUM_SERIALIZATION(test.pb.h)
PEERDIR(
library/cpp/protobuf/json
)
-
-END()
+
+END()