19 #include <gtest/gtest.h>
23 #include "src/proto/grpc/status/status.pb.h"
24 #include "src/proto/grpc/testing/echo_messages.pb.h"
30 TEST(ExtractTest, Success) {
32 expected.set_code(13);
33 expected.set_message(
"I am an error message");
34 testing::EchoRequest expected_details;
35 expected_details.set_message(
std::string(100,
'\0'));
36 expected.add_details()->PackFrom(expected_details);
39 std::string error_details = expected.SerializeAsString();
51 TEST(ExtractTest, NullInput) {
56 TEST(ExtractTest, Unparsable) {
57 std::string error_details(
"I am not a status object");
64 TEST(SetTest, Success) {
66 expected.set_code(13);
67 expected.set_message(
"I am an error message");
68 testing::EchoRequest expected_details;
69 expected_details.set_message(
std::string(100,
'\0'));
70 expected.add_details()->PackFrom(expected_details);
77 EXPECT_EQ(expected.SerializeAsString(),
to.error_details());
80 TEST(SetTest, NullInput) {
85 TEST(SetTest, OutOfScopeErrorCode) {
87 expected.set_code(17);
88 expected.set_message(
"I am an error message");
89 testing::EchoRequest expected_details;
90 expected_details.set_message(
std::string(100,
'\0'));
91 expected.add_details()->PackFrom(expected_details);
98 EXPECT_EQ(expected.SerializeAsString(),
to.error_details());
101 TEST(SetTest, ValidScopeErrorCode) {
104 expected.set_code(c);
105 expected.set_message(
"I am an error message");
106 testing::EchoRequest expected_details;
107 expected_details.set_message(
std::string(100,
'\0'));
108 expected.add_details()->PackFrom(expected_details);
115 EXPECT_EQ(expected.SerializeAsString(),
to.error_details());
122 int main(
int argc,
char** argv) {