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_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_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_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_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()