21 #include <gtest/gtest.h>
29 #include "src/proto/grpc/testing/echo.grpc.pb.h"
46 mock_socket_mutator_mutate_fd,
47 mock_socket_mutator_compare,
48 mock_socket_mutator_destroy,
54 MockSocketMutator() : mutate_fd_call_count_(0) {
57 int mutate_fd_call_count_;
61 MockSocketMutator*
s =
reinterpret_cast<MockSocketMutator*
>(
m);
62 s->mutate_fd_call_count_++;
72 MockSocketMutator*
s =
reinterpret_cast<MockSocketMutator*
>(
m);
78 explicit MockSocketMutatorServerBuilderOption(
79 MockSocketMutator* mock_socket_mutator)
80 : mock_socket_mutator_(mock_socket_mutator) {}
82 void UpdateArguments(ChannelArguments*
args)
override {
83 args->SetSocketMutator(mock_socket_mutator_);
87 std::vector<std::unique_ptr<ServerBuilderPlugin>>*)
override{};
89 MockSocketMutator* mock_socket_mutator_;
94 static void SetUpTestCase() {
grpc_init(); }
99 TEST_F(ServerBuilderWithSocketMutatorTest, CreateServerWithSocketMutator) {
101 auto mock_socket_mutator =
new MockSocketMutator();
102 std::unique_ptr<grpc::ServerBuilderOption> mock_socket_mutator_builder_option(
103 new MockSocketMutatorServerBuilderOption(mock_socket_mutator));
104 testing::EchoTestService::Service echo_service;
105 EXPECT_EQ(mock_socket_mutator->mutate_fd_call_count_, 0);
107 builder.RegisterService(&echo_service);
110 std::unique_ptr<grpc::Server>
server(
builder.BuildAndStart());
113 EXPECT_GE(mock_socket_mutator->mutate_fd_call_count_, 1);
120 int main(
int argc,
char** argv) {