class TestSummaryListWalker(unittest.TestCase): def setUp(self): self.controller = mock.Mock() self.controller.open_error = mock.Mock( side_effect=self._open_error) self.context = mock.Mock() self.context.config.keys = dict() self.displayer_context = mock.Mock() self.displayer_context.displayer.summary = mock.Mock( side_effect=lambda m: m) self.displayer_context.displayer.match = mock.Mock( side_effect=lambda k, m, s: k in s) self.on_receive = mock.Mock() self.error = False self.walker = SummaryListWalker( controller=self.controller, context=self.context, displayer_context=self.displayer_context, on_receive=self.on_receive) def _open_error(self, *args, **kwargs): self.error = True def test_msg_listener_register(self): self.displayer_context.store.register.assert_called_once_with( self.walker) def test_recv(self): self.displayer_context.displayer.summary = mock.Mock(return_value="message") self.walker.recv("new message") self.assertEqual(len(self.walker), 1) self.assertFalse(self.error) self.displayer_context.displayer.summary.assert_called_once_with("new message") def test_recv_failed(self): self.displayer_context.displayer.summary = mock.Mock( side_effect=ValueError("failed")) self.walker.recv("new message") self.assertEqual(len(self.walker), 0) self.assertTrue(self.error)
def setUp(self): self.controller = mock.Mock() self.controller.open_error = mock.Mock( side_effect=self._open_error) self.context = mock.Mock() self.context.config.keys = dict() self.displayer_context = mock.Mock() self.displayer_context.displayer.summary = mock.Mock( side_effect=lambda m: m) self.displayer_context.displayer.match = mock.Mock( side_effect=lambda k, m, s: k in s) self.on_receive = mock.Mock() self.error = False self.walker = SummaryListWalker( controller=self.controller, context=self.context, displayer_context=self.displayer_context, on_receive=self.on_receive)