ServerTest.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /******************************************************************
  2. *
  3. * uEcho for C
  4. *
  5. * Copyright (C) Satoshi Konno 2015
  6. *
  7. * This is licensed under BSD-style license, see file COPYING.
  8. *
  9. ******************************************************************/
  10. #include <boost/test/unit_test.hpp>
  11. #include <uecho/frame/server.h>
  12. #include <uecho/net/interface.h>
  13. BOOST_AUTO_TEST_CASE(ServerTest)
  14. {
  15. uEchoServer* server = uecho_server_new();
  16. BOOST_CHECK(server);
  17. BOOST_CHECK(uecho_server_start(server));
  18. BOOST_CHECK(uecho_server_isrunning(server));
  19. BOOST_CHECK(uecho_server_stop(server));
  20. uecho_server_delete(server);
  21. }
  22. BOOST_AUTO_TEST_CASE(UdpServerTest)
  23. {
  24. uEchoNetworkInterfaceList* net_if_list = uecho_net_interfacelist_new();
  25. BOOST_CHECK(0 < uecho_net_gethostinterfaces(net_if_list));
  26. if (uecho_net_gethostinterfaces(net_if_list) <= 0) {
  27. uecho_net_interfacelist_delete(net_if_list);
  28. return;
  29. }
  30. uEchoNetworkInterface* net_if = uecho_net_interfacelist_gets(net_if_list);
  31. const char* bind_addr = uecho_net_interface_getaddress(net_if);
  32. uEchoUdpServer* server = uecho_udp_server_new();
  33. BOOST_CHECK(server);
  34. BOOST_CHECK(uecho_udp_server_open(server, bind_addr));
  35. BOOST_CHECK(uecho_udp_server_start(server));
  36. BOOST_CHECK(uecho_udp_server_stop(server));
  37. BOOST_CHECK(uecho_udp_server_delete(server));
  38. uecho_net_interfacelist_delete(net_if_list);
  39. }
  40. BOOST_AUTO_TEST_CASE(McastServerTest)
  41. {
  42. uEchoNetworkInterfaceList* net_if_list = uecho_net_interfacelist_new();
  43. BOOST_CHECK(0 < uecho_net_gethostinterfaces(net_if_list));
  44. if (uecho_net_gethostinterfaces(net_if_list) <= 0) {
  45. uecho_net_interfacelist_delete(net_if_list);
  46. return;
  47. }
  48. uEchoNetworkInterface* net_if = uecho_net_interfacelist_gets(net_if_list);
  49. const char* bind_addr = uecho_net_interface_getaddress(net_if);
  50. uEchoMcastServer* server = uecho_mcast_server_new();
  51. BOOST_CHECK(server);
  52. BOOST_CHECK(uecho_mcast_server_open(server, bind_addr));
  53. BOOST_CHECK(uecho_mcast_server_start(server));
  54. BOOST_CHECK(uecho_mcast_server_stop(server));
  55. BOOST_CHECK(uecho_mcast_server_delete(server));
  56. uecho_net_interfacelist_delete(net_if_list);
  57. }
  58. BOOST_AUTO_TEST_CASE(UdpServerListTest)
  59. {
  60. uEchoUdpServerList* servers = uecho_udp_serverlist_new();
  61. BOOST_CHECK(servers);
  62. BOOST_CHECK(uecho_udp_serverlist_open(servers));
  63. BOOST_CHECK(uecho_udp_serverlist_start(servers));
  64. BOOST_CHECK(uecho_udp_serverlist_isrunning(servers));
  65. BOOST_CHECK(uecho_udp_serverlist_stop(servers));
  66. uecho_udp_serverlist_delete(servers);
  67. }
  68. BOOST_AUTO_TEST_CASE(McastServerListTest)
  69. {
  70. uEchoMcastServerList* servers = uecho_mcast_serverlist_new();
  71. BOOST_CHECK(servers);
  72. BOOST_CHECK(uecho_mcast_serverlist_open(servers));
  73. BOOST_CHECK(uecho_mcast_serverlist_start(servers));
  74. BOOST_CHECK(uecho_mcast_serverlist_isrunning(servers));
  75. BOOST_CHECK(uecho_mcast_serverlist_stop(servers));
  76. uecho_mcast_serverlist_delete(servers);
  77. }