def test_send_to_client_called(self): request = Mock() dummy_queue = Mock() dummy_queue.get = Mock(side_effect = [request, Spawnable.STOP]) self.process.create_queue = Mock(return_value = dummy_queue) server = ServerComms(self.process) server.send_to_client = Mock() server.send_loop() server.send_to_client.assert_called_once_with(request)
def test_send_logs_error(self): server = ServerComms(self.process) request = Mock() request.to_dict = Mock() server.q.get = Mock(side_effect = [request, server.STOP]) server.log_exception = Mock() server.send_loop() server.log_exception.assert_called_once_with( "Exception sending response %s", request.to_dict.return_value)
def test_init(self, def_stop, add_func): server = ServerComms(self.process) self.process.create_queue.assert_called_once_with() self.assertEqual( server.q, self.process.create_queue.return_value) self.assertEquals( [call(server.send_loop, def_stop.return_value)], server.add_spawn_function.call_args_list)
def test_start_stop(self): self.process.sync_factory = SyncFactory("s") self.process.spawn = self.process.sync_factory.spawn self.process.create_queue = self.process.sync_factory.create_queue server = ServerComms("server", self.process) server.send_loop = Mock(side_effect = server.send_loop) server.start_recv_loop = Mock() server.stop_recv_loop = Mock() server.start() self.assertFalse(server._send_spawned.ready()) server.start_recv_loop.assert_called_once_with() server.stop(0.1) self.assertTrue(server._send_spawned.ready()) server.send_loop.assert_called_once_with() server.stop_recv_loop.assert_called_once_with()
def test_loop_stops(self): self.process.spawn = lambda x: x() self.process.create_queue = Mock( return_value=Mock(get=Mock(return_value=SERVER_STOP))) server = ServerComms("server", self.process) server.start_recv_loop = Mock() server.stop_recv_loop = Mock() server.send_loop = Mock(side_effect = server.send_loop) server.start() server.send_loop.assert_called_once_with()
def test_loop_starts(self): self.process.spawn = lambda x: x() server = ServerComms("server", self.process) server.send_loop = Mock() server.start_recv_loop = Mock() server.start() server.send_loop.assert_called_once_with() server.start_recv_loop.assert_called_once_with()
def test_send_to_client(self): request = Mock() dummy_queue = Mock() dummy_queue.get = Mock(side_effect = [request, SERVER_STOP]) self.process.create_queue = Mock(return_value = dummy_queue) self.process.spawn = Mock(side_effect = lambda x: x()) server = ServerComms("server", self.process) server.send_to_client = Mock( side_effect = server.send_to_client) server.start_recv_loop = Mock() server.start() server.send_to_client.assert_called_once_with(request)
def test_send_to_process(self): self.process.q = Mock() server = ServerComms(self.process) request = Mock() server.send_to_process(request) self.process.q.put.assert_called_once_with(request)
def test_not_implemented_error(self): server = ServerComms(self.process) self.assertRaises(NotImplementedError, server.send_to_client, Mock())
def test_not_implemented_error(self): server = ServerComms("server", self.process) self.assertRaises(NotImplementedError, server.send_to_client, Mock()) self.assertRaises(NotImplementedError, server.start_recv_loop) self.assertRaises(NotImplementedError, server.stop_recv_loop)
def test_init(self): server = ServerComms("server", self.process) self.process.create_queue.assert_called_once_with() self.assertEqual( server.q, self.process.create_queue.return_value)