4 #include <boost/test/unit_test.hpp> 8 boost::asio::io_service io;
12 BOOST_CHECK(socket.is_open());
19 using namespace ::testing;
20 NiceMock<mock_udp_socket> socket;
21 EXPECT_CALL(socket, open(_)).Times(1);
22 EXPECT_CALL(socket, bind(_)).Times(1);
24 socket, set_option(An<boost::asio::ip::multicast::join_group const&>()))
28 set_option(An<boost::asio::ip::multicast::enable_loopback const&>()))
36 using namespace ::testing;
37 NiceMock<mock_udp_socket> socket;
38 EXPECT_CALL(socket, open(_)).Times(1);
41 bind(boost::asio::ip::udp::endpoint(boost::asio::ip::address_v4(), 0)))
45 set_option(An<boost::asio::ip::multicast::enable_loopback const&>()))
55 using namespace ::testing;
56 NiceMock<mock_udp_socket> socket;
57 EXPECT_CALL(socket, open(_)).Times(1);
60 bind(boost::asio::ip::udp::endpoint(boost::asio::ip::address_v6(), 0)))
64 set_option(An<boost::asio::ip::multicast::enable_loopback const&>()))
73 using namespace ::testing;
74 NiceMock<mock_udp_socket> v6s;
75 EXPECT_CALL(v6s, open(_)).Times(1);
78 bind(boost::asio::ip::udp::endpoint(boost::asio::ip::address_v6(), 0)))
81 v6s, set_option(An<boost::asio::ip::multicast::enable_loopback const&>()))
84 v6s, set_option(Matcher<boost::asio::ip::multicast::hops const&>(
85 Truly([](boost::asio::ip::multicast::hops
const& h) {
86 return h.value() == 10;
94 .enable_loopback(
true)
96 .outbound_interface(
"2"));
98 NiceMock<mock_udp_socket> v4s;
99 EXPECT_CALL(v4s, open(_)).Times(1);
102 bind(boost::asio::ip::udp::endpoint(boost::asio::ip::address_v4(), 0)))
105 v4s, set_option(boost::asio::ip::multicast::enable_loopback(
true)))
107 EXPECT_CALL(v4s, set_option(An<boost::asio::ip::multicast::hops const&>()))
111 .address(
"239.128.1.1")
113 .enable_loopback(
true)
115 .outbound_interface(
"127.0.0.1"));
120 boost::asio::io_service io;
126 .enable_loopback(
true)
128 .outbound_interface(
"abcd")),
134 using namespace ::testing;
135 NiceMock<mock_udp_socket> socket;
136 EXPECT_CALL(socket, open(_)).Times(1);
139 bind(boost::asio::ip::udp::endpoint(boost::asio::ip::address_v4(), 0)))
142 socket, set_option(Matcher<boost::asio::ip::unicast::hops const&>(
143 Truly([](boost::asio::ip::unicast::hops
const& h) {
144 return h.value() == 10;
147 EXPECT_CALL(socket, set_option(boost::asio::socket_base::broadcast(
true)))
152 .address(
"192.168.1.7")
BOOST_AUTO_TEST_CASE(itch5_make_socket_udp_send_compile)
A Mock Object for the socket class.
socket_t make_socket_udp_send(boost::asio::io_service &io, udp_sender_config const &cfg)
Create a socket to send UDP messages given the configuration parameters.
jb::config_attribute< udp_sender_config, std::string > address
A configuration object for UDP senders.
void setup_socket_udp_send(socket_t &s, udp_sender_config const &cfg)