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