1#include <gtest/gtest.h>
8#include <userver/protobuf/json/convert.hpp>
9#include <userver/utest/assert_macros.hpp>
13USERVER_NAMESPACE_BEGIN
15namespace protobuf::json::tests {
17struct StringToJsonSuccessTestParam {
19 std::string expected_json = {};
23void PrintTo(
const StringToJsonSuccessTestParam& param, std::ostream* os) {
24 *os << fmt::format(
"{{ input = {{.field1='{}'}} }}", param.input.field1);
27class StringToJsonSuccessTest :
public ::testing::TestWithParam<StringToJsonSuccessTestParam> {};
29INSTANTIATE_TEST_SUITE_P(
31 StringToJsonSuccessTest,
33 StringToJsonSuccessTestParam{StringMessageData{
""}, R"({})"},
34 StringToJsonSuccessTestParam{
35 StringMessageData{
""},
39 StringToJsonSuccessTestParam{StringMessageData{
"hello world"}, R"({"field1":"hello world"})"}
43TEST_P(StringToJsonSuccessTest, Test) {
44 const auto& param = GetParam();
46 auto input = PrepareTestData(param.input);
52 UASSERT_NO_THROW((expected_json = PrepareJsonTestData(param.expected_json)));
55 EXPECT_EQ(json, expected_json);
56 EXPECT_EQ(expected_json, sample_json);