xref: /aosp_15_r20/external/pigweed/pw_rpc/pwpb/echo_service_test.cc (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1 // Copyright 2022 The Pigweed Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 #include <string_view>
16 
17 #include "pw_rpc/echo_service_pwpb.h"
18 #include "pw_rpc/pwpb/test_method_context.h"
19 #include "pw_unit_test/framework.h"
20 
21 namespace pw::rpc {
22 namespace {
23 
TEST(EchoService,Echo_EchoesRequestMessage)24 TEST(EchoService, Echo_EchoesRequestMessage) {
25   PW_PWPB_TEST_METHOD_CONTEXT(EchoService, Echo) context;
26   ASSERT_EQ(context.call({"Hello, world"}), OkStatus());
27   EXPECT_EQ(std::string_view(context.response().msg.data(),
28                              context.response().msg.size()),
29             "Hello, world");
30 }
31 
TEST(EchoService,Echo_EmptyRequest)32 TEST(EchoService, Echo_EmptyRequest) {
33   PW_PWPB_TEST_METHOD_CONTEXT(EchoService, Echo) context;
34   ASSERT_EQ(context.call({}), OkStatus());
35   EXPECT_EQ(std::string_view(context.response().msg.data(),
36                              context.response().msg.size()),
37             "");
38 }
39 
40 }  // namespace
41 }  // namespace pw::rpc
42