Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
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)