def test_listener_creator_recv_bufsize(self, mock_UDPTendril, mock_track_tendril, mock_socket): acceptor = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_creator_backlog(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): acceptor = mock.Mock() manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.listen(4096), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_TCPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_creator_backlog(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): acceptor = mock.Mock() manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.listen(4096), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_TCPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_creator_recv_bufsize(self, mock_UDPTendril, mock_track_tendril, mock_socket): acceptor = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.recvfrom(8192), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_noacceptor(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): manager = tcp.TCPTendrilManager() with self.assertRaises(TestException): manager.listener(None, None) mock_sleep.assert_called_once_with(600) self.assertFalse(mock_socket.called)
def test_listener_noacceptor(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): manager = tcp.TCPTendrilManager() with self.assertRaises(TestException): manager.listener(None, None) mock_sleep.assert_called_once_with(600) self.assertFalse(mock_socket.called)
def test_listener_recv_frameify_error(self, mock_UDPTendril, mock_track_tendril, mock_socket): mock_socket.return_value.recvfrom.side_effect = [ ('frame', ('127.0.0.3', 8083)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tend = mock.Mock(**{'_recv_frameify.side_effect': TestException()}) manager = udp.UDPTendrilManager() manager.running = True manager.tendrils[(('127.0.0.1', 8080), ('127.0.0.3', 8083))] = tend with self.assertRaises(TestException): manager.listener(None, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(mock_track_tendril.called) tend._recv_frameify.assert_called_once_with('frame') tend.close.assert_called_once_with() self.assertEqual(tend.closed.call_count, 1) args = tend.closed.call_args[0] self.assertEqual(len(args), 1) self.assertIsInstance(args[0], TestException)
def test_listener_recv_frameify_error(self, mock_UDPTendril, mock_track_tendril, mock_socket): mock_socket.return_value.recvfrom.side_effect = [ ('frame', ('127.0.0.3', 8083)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tend = mock.Mock(**{'_recv_frameify.side_effect': TestException()}) manager = udp.UDPTendrilManager() manager.running = True manager.tendrils[(('127.0.0.1', 8080), ('127.0.0.3', 8083))] = tend with self.assertRaises(TestException): manager.listener(None, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(mock_track_tendril.called) tend._recv_frameify.assert_called_once_with('frame') tend.close.assert_called_once_with() self.assertEqual(tend.closed.call_count, 1) args = tend.closed.call_args[0] self.assertEqual(len(args), 1) self.assertIsInstance(args[0], TestException)
def test_listener_noacceptor(self, mock_UDPTendril, mock_track_tendril, mock_socket): msgs = ['msg1', 'msg2', 'msg3'] mock_socket.return_value.recvfrom.side_effect = [ (msgs[0], ('127.0.0.2', 8082)), (msgs[1], ('127.0.0.3', 8083)), (msgs[2], ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tend = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True manager.tendrils[(('127.0.0.1', 8080), ('127.0.0.3', 8083))] = tend with self.assertRaises(TestException): manager.listener(None, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(mock_track_tendril.called) tend._recv_frameify.assert_called_once_with('msg2')
def test_listener_noacceptor(self, mock_UDPTendril, mock_track_tendril, mock_socket): msgs = ['msg1', 'msg2', 'msg3'] mock_socket.return_value.recvfrom.side_effect = [ (msgs[0], ('127.0.0.2', 8082)), (msgs[1], ('127.0.0.3', 8083)), (msgs[2], ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tend = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True manager.tendrils[(('127.0.0.1', 8080), ('127.0.0.3', 8083))] = tend with self.assertRaises(TestException): manager.listener(None, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(mock_track_tendril.called) tend._recv_frameify.assert_called_once_with('msg2')
def test_listener_wrapper(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): wrapped_sock = mock.Mock(**{ 'accept.side_effect': TestException(), }) wrapper = mock.Mock(return_value=wrapped_sock) acceptor = mock.Mock() manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, wrapper) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), ]) wrapper.assert_called_once_with(mock_socket.return_value) wrapped_sock.assert_has_calls([ mock.call.listen(1024), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_TCPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_wrapper(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): wrapped_sock = mock.Mock(**{ 'accept.side_effect': TestException(), }) wrapper = mock.Mock(return_value=wrapped_sock) acceptor = mock.Mock() manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, wrapper) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), ]) wrapper.assert_called_once_with(mock_socket.return_value) wrapped_sock.assert_has_calls([ mock.call.listen(1024), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_TCPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_wrapper(self, mock_UDPTendril, mock_track_tendril, mock_socket): wrapped_sock = mock.Mock(**{ 'recvfrom.side_effect': TestException(), }) wrapper = mock.Mock(return_value=wrapped_sock) acceptor = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, wrapper) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), ]) wrapper.assert_called_once_with(mock_socket.return_value) wrapped_sock.assert_has_calls([ mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_wrapper(self, mock_UDPTendril, mock_track_tendril, mock_socket): wrapped_sock = mock.Mock(**{ 'recvfrom.side_effect': TestException(), }) wrapper = mock.Mock(return_value=wrapped_sock) acceptor = mock.Mock() manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, wrapper) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), ]) wrapper.assert_called_once_with(mock_socket.return_value) wrapped_sock.assert_has_calls([ mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) self.assertFalse(mock_UDPTendril.called) self.assertFalse(acceptor.called) self.assertFalse(mock_track_tendril.called)
def test_listener_rejector(self, mock_UDPTendril, mock_track_tendril, mock_socket): mock_socket.return_value.recvfrom.side_effect = [ ('msg1', ('127.0.0.2', 8082)), ('msg2', ('127.0.0.3', 8083)), ('msg3', ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tendrils = [mock.Mock(), mock.Mock(), mock.Mock()] mock_UDPTendril.side_effect = tendrils[:] acceptor = mock.Mock(side_effect=application.RejectConnection()) manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) mock_UDPTendril.assert_has_calls([ mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.2', 8082)), mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.3', 8083)), mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.4', 8084)), ]) acceptor.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[1]), mock.call(tendrils[2]), ]) self.assertFalse(mock_track_tendril.called) self.assertFalse(tendrils[0]._recv_frameify.called) self.assertFalse(tendrils[1]._recv_frameify.called) self.assertFalse(tendrils[2]._recv_frameify.called)
def test_listener_acceptor_badclose(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): clis = [ mock.Mock(**{ 'close.side_effect': socket.error(), }), mock.Mock(**{ 'close.side_effect': socket.error(), }), mock.Mock(**{ 'close.side_effect': socket.error(), }) ] mock_socket.return_value.accept.side_effect = [ (clis[0], ('127.0.0.2', 8082)), (clis[1], ('127.0.0.3', 8083)), (clis[2], ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tendrils = [mock.Mock(), mock.Mock(), mock.Mock()] mock_TCPTendril.side_effect = tendrils[:] acceptor = mock.Mock(side_effect=[ mock.Mock(), TestException(), mock.Mock(), ]) manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.listen(1024), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) mock_TCPTendril.assert_has_calls([ mock.call(manager, clis[0], ('127.0.0.2', 8082)), mock.call(manager, clis[1], ('127.0.0.3', 8083)), mock.call(manager, clis[2], ('127.0.0.4', 8084)), ]) acceptor.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[1]), mock.call(tendrils[2]), ]) self.assertFalse(clis[0].close.called) clis[1].close.assert_called_once_with() self.assertFalse(clis[2].close.called) mock_track_tendril.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[2]), ]) tendrils[0]._start.assert_called_once_with() self.assertFalse(tendrils[1]._start.called) tendrils[2]._start.assert_called_once_with()
def test_listener_err_thresh(self, mock_TCPTendril, mock_track_tendril, mock_socket, mock_sleep): clis = [mock.Mock(), mock.Mock(), mock.Mock()] mock_socket.return_value.accept.side_effect = [ TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), (clis[0], ('127.0.0.2', 8082)), (clis[1], ('127.0.0.3', 8083)), (clis[2], ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), ] tendrils = [mock.Mock(), mock.Mock(), mock.Mock()] mock_TCPTendril.side_effect = tendrils[:] acceptor = mock.Mock(side_effect=[ mock.Mock(), TestException(), mock.Mock(), ]) manager = tcp.TCPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) self.assertFalse(mock_sleep.called) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM) mock_socket.return_value.assert_has_calls([ mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1), mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.listen(1024), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.accept(), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) mock_TCPTendril.assert_has_calls([ mock.call(manager, clis[0], ('127.0.0.2', 8082)), mock.call(manager, clis[1], ('127.0.0.3', 8083)), mock.call(manager, clis[2], ('127.0.0.4', 8084)), ]) acceptor.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[1]), mock.call(tendrils[2]), ]) self.assertFalse(clis[0].close.called) clis[1].close.assert_called_once_with() self.assertFalse(clis[2].close.called) mock_track_tendril.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[2]), ]) tendrils[0]._start.assert_called_once_with() self.assertFalse(tendrils[1]._start.called) tendrils[2]._start.assert_called_once_with()
def test_listener_rejector(self, mock_UDPTendril, mock_track_tendril, mock_socket): mock_socket.return_value.recvfrom.side_effect = [ ('msg1', ('127.0.0.2', 8082)), ('msg2', ('127.0.0.3', 8083)), ('msg3', ('127.0.0.4', 8084)), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), TestException(), ] tendrils = [mock.Mock(), mock.Mock(), mock.Mock()] mock_UDPTendril.side_effect = tendrils[:] acceptor = mock.Mock(side_effect=application.RejectConnection()) manager = udp.UDPTendrilManager() manager.running = True with self.assertRaises(TestException): manager.listener(acceptor, None) mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_DGRAM) mock_socket.return_value.assert_has_calls([ mock.call.bind(('', 0)), mock.call.getsockname(), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.recvfrom(4096), mock.call.close(), ]) self.assertEqual(manager.local_addr, ('127.0.0.1', 8080)) mock_UDPTendril.assert_has_calls([ mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.2', 8082)), mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.3', 8083)), mock.call(manager, ('127.0.0.1', 8080), ('127.0.0.4', 8084)), ]) acceptor.assert_has_calls([ mock.call(tendrils[0]), mock.call(tendrils[1]), mock.call(tendrils[2]), ]) self.assertFalse(mock_track_tendril.called) self.assertFalse(tendrils[0]._recv_frameify.called) self.assertFalse(tendrils[1]._recv_frameify.called) self.assertFalse(tendrils[2]._recv_frameify.called)