Skip to content

Commit

Permalink
Merge pull request grpc#16648 from lizan/fake_handshaker
Browse files Browse the repository at this point in the history
test: split fake ALTS handshaker server to lib and main
  • Loading branch information
Jiangtao Li authored Sep 22, 2018
2 parents a6d8972 + 91e15f6 commit 4b1aa50
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 28 deletions.
5 changes: 3 additions & 2 deletions test/core/tsi/alts/fake_handshaker/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,22 @@ grpc_cc_library(
name = "fake_handshaker_lib",
testonly = True,
srcs = ["fake_handshaker_server.cc"],
hdrs = ["fake_handshaker_server.h"],
language = "C++",
deps = [
"handshaker_proto",
"transport_security_common_proto",
"//:grpc++",
"//test/cpp/util:test_config",
],
)

grpc_cc_binary(
name = "fake_handshaker_server",
testonly = True,
srcs = ["fake_handshaker_server.cc"],
srcs = ["fake_handshaker_server_main.cc"],
language = "C++",
deps = [
"//test/cpp/util:test_config",
"fake_handshaker_lib",
],
)
31 changes: 5 additions & 26 deletions test/core/tsi/alts/fake_handshaker/fake_handshaker_server.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
* limitations under the License.
*
*/
#include "test/core/tsi/alts/fake_handshaker/fake_handshaker_server.h"

#include <memory>
#include <sstream>
#include <string>

#include <gflags/gflags.h>
#include <grpc/grpc.h>
#include <grpc/support/log.h>
#include <grpcpp/impl/codegen/async_stream.h>
Expand All @@ -32,10 +32,6 @@
#include "test/core/tsi/alts/fake_handshaker/handshaker.grpc.pb.h"
#include "test/core/tsi/alts/fake_handshaker/handshaker.pb.h"
#include "test/core/tsi/alts/fake_handshaker/transport_security_common.pb.h"
#include "test/cpp/util/test_config.h"

DEFINE_int32(handshaker_port, 55056,
"TCP port on which the fake handshaker server listens to.");

// Fake handshake messages.
constexpr char kClientInitFrame[] = "ClientInit";
Expand Down Expand Up @@ -243,26 +239,9 @@ class FakeHandshakerService : public HandshakerService::Service {
}
};

} // namespace gcp
} // namespace grpc

void RunServer() {
GPR_ASSERT(FLAGS_handshaker_port != 0);
std::ostringstream server_address;
server_address << "[::1]:" << FLAGS_handshaker_port;
grpc::gcp::FakeHandshakerService service;
grpc::ServerBuilder builder;
builder.AddListeningPort(server_address.str(),
grpc::InsecureServerCredentials());
builder.RegisterService(&service);
std::unique_ptr<grpc::Server> server(builder.BuildAndStart());
gpr_log(GPR_INFO, "Fake handshaker server listening on %s",
server_address.str().c_str());
server->Wait();
std::unique_ptr<grpc::Service> CreateFakeHandshakerService() {
return std::unique_ptr<grpc::Service>{new grpc::gcp::FakeHandshakerService};
}

int main(int argc, char** argv) {
grpc::testing::InitTest(&argc, &argv, true);
RunServer();
return 0;
}
} // namespace gcp
} // namespace grpc
29 changes: 29 additions & 0 deletions test/core/tsi/alts/fake_handshaker/fake_handshaker_server.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
*
* Copyright 2018 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <memory>
#include <string>

#include <grpcpp/grpcpp.h>

namespace grpc {
namespace gcp {

std::unique_ptr<grpc::Service> CreateFakeHandshakerService();

} // namespace gcp
} // namespace grpc
53 changes: 53 additions & 0 deletions test/core/tsi/alts/fake_handshaker/fake_handshaker_server_main.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
*
* Copyright 2018 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include "test/core/tsi/alts/fake_handshaker/fake_handshaker_server.h"

#include <sstream>

#include <gflags/gflags.h>
#include <grpc/support/log.h>
#include <grpcpp/impl/codegen/service_type.h>
#include <grpcpp/server_builder.h>

#include "test/cpp/util/test_config.h"

DEFINE_int32(handshaker_port, 55056,
"TCP port on which the fake handshaker server listens to.");

static void RunFakeHandshakerServer(const std::string& server_address) {
std::unique_ptr<grpc::Service> service =
grpc::gcp::CreateFakeHandshakerService();
grpc::ServerBuilder builder;
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
builder.RegisterService(service.get());
gpr_log(GPR_INFO, "Fake handshaker server listening on %s",
server_address.c_str());
std::unique_ptr<grpc::Server> server = builder.BuildAndStart();
server->Wait();
}

int main(int argc, char** argv) {
grpc::testing::InitTest(&argc, &argv, true);

GPR_ASSERT(FLAGS_handshaker_port != 0);
std::ostringstream server_address;
server_address << "[::1]:" << FLAGS_handshaker_port;

RunFakeHandshakerServer(server_address.str());
return 0;
}

0 comments on commit 4b1aa50

Please sign in to comment.