def test_process_filter(self): logging.info('*** process/filter ***') class Mocked(object): def filter(self, event): event.flag = True text = event.get('text') if text: event.text = text.title() self.event = event return event mocked = Mocked() listener = Listener(engine=self.engine, filter=mocked.filter) listener.DEFER_DURATION = 0.0 self.engine.set('listener.counter', 22) mocked.event = None listener.process(str(my_message)) self.assertEqual(self.engine.get('listener.counter'), 23) self.assertEqual( mocked.event.text, 'The Pm For This Project Is Mike C. And The Engineering Manager Is Jane W.' ) self.assertTrue(mocked.event.flag) listener.process(str(my_private_message)) self.assertEqual(self.engine.get('listener.counter'), 24) self.assertEqual(mocked.event.text, 'Test') self.assertTrue(mocked.event.flag) mocked.event = None listener.process(str(my_join)) self.assertEqual(self.engine.get('listener.counter'), 25) self.assertTrue(mocked.event.flag) mocked.event = None listener.process(str(my_leave)) self.assertEqual(self.engine.get('listener.counter'), 26) self.assertTrue(mocked.event.flag) mocked.event = None listener.process(str(my_event)) self.assertEqual(self.engine.get('listener.counter'), 27) self.assertTrue(mocked.event.flag)
def test_work(self): logging.info("*** run") self.engine.set('general.switch', 'on') listener = Listener(engine=self.engine) listener.DEFER_DURATION = 0.0 listener.process = mock.Mock(side_effect=Exception('TEST')) self.engine.ears.put(('dummy')) self.engine.ears.put(None) listener.run() self.assertEqual(self.engine.get('listener.counter'), 0) listener = Listener(engine=self.engine) listener.DEFER_DURATION = 0.0 listener.process = mock.Mock(side_effect=KeyboardInterrupt('ctl-C')) self.engine.ears.put(('dummy')) listener.run() self.assertEqual(self.engine.get('listener.counter'), 0)
def test_process(self): logging.info('*** process ***') listener = Listener(engine=self.engine) listener.DEFER_DURATION = 0.0 self.engine.set('listener.counter', 22) with self.assertRaises(AssertionError): listener.process('hello world') self.assertEqual(self.engine.get('listener.counter'), 23) listener.on_message = mock.Mock() listener.process(str(my_message)) self.assertEqual(self.engine.get('listener.counter'), 24) self.assertTrue(listener.on_message.called) listener.on_message = mock.Mock() listener.process(str(my_private_message)) self.assertEqual(self.engine.get('listener.counter'), 25) self.assertTrue(listener.on_message.called) listener.on_join = mock.Mock() listener.process(str(my_join)) self.assertEqual(self.engine.get('listener.counter'), 26) self.assertTrue(listener.on_join.called) listener.on_leave = mock.Mock() listener.process(str(my_leave)) self.assertEqual(self.engine.get('listener.counter'), 27) self.assertTrue(listener.on_leave.called) listener.on_inbound = mock.Mock() listener.process(str(my_event)) self.assertEqual(self.engine.get('listener.counter'), 28) self.assertTrue(listener.on_inbound.called)