RpcChannelTest.cc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include <gtest/gtest.h>
  2. #include <gflags/gflags.h>
  3. #include <glog/logging.h>
  4. #include "Net/RpcChannel.h"
  5. namespace Hainan {
  6. static int port = 10001;
  7. class RpcServerTest
  8. {
  9. public:
  10. boost::asio::io_service io_service;
  11. boost::asio::ip::tcp::acceptor acceptor;
  12. boost::asio::ip::tcp::socket socket;
  13. int size;
  14. public:
  15. RpcServerTest(boost::asio::io_service& service, int port):
  16. io_service(service), size(0)
  17. {
  18. boost::asio::ip::address address;
  19. address.from_string("localhost");
  20. boost::asio::ip::tcp::endpoint endpoint(address, port);
  21. boost::asio::ip::tcp::acceptor acceptor;
  22. acceptor.open(endpoint.protocol());
  23. acceptor.set_option(
  24. boost::asio::ip::tcp::acceptor::reuse_address(true));
  25. acceptor.bind(endpoint);
  26. acceptor.listen();
  27. acceptor.async_accept(socket);
  28. }
  29. ~RpcServerTest();
  30. void RecvMessageSize()
  31. {
  32. }
  33. };
  34. class RpcChannelTest: public testing::Test
  35. {
  36. private:
  37. int port;
  38. public:
  39. RpcChannelTest()
  40. {
  41. }
  42. void SetUp()
  43. {
  44. port = 10001;
  45. }
  46. void TearDown()
  47. {
  48. }
  49. };
  50. TEST_F(RpcChannelTest, CallMethod)
  51. {
  52. RpcServerTest server(io_service, port);
  53. ASSERT_EQ(0, server.size);
  54. RpcChannel channel(io_service, "localhost", port);
  55. channel.CallMethod(NULL, NULL, request, response, done);
  56. ASSERT_EQ(request.ByteSize(), server.size);
  57. }
  58. } // namespace Hainan