Exemple #1
0
    def test_on_message_fan(self):

        logging.info('*** on_message/fan ***')

        self.engine.set('bot.id', '*not*for*me')

        class MyFan(object):
            def __init__(self):
                self.called = False

            def put(self, arguments):
                self.called = True

        self.bot.fan = MyFan()

        listener = Listener(engine=self.engine)
        listener.DEFER_DURATION = 0.0

        listener.on_message(my_message)
        self.assertFalse(self.bot.fan.called)

        label = 'fan.' + my_message.channel_id
        logging.debug(u"- stamping '{}'".format(label))
        self.engine.set(label, time.time())
        listener.on_message(my_message)
        self.assertTrue(self.bot.fan.called)
Exemple #2
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)
Exemple #3
0
    def test_on_message(self):

        logging.info('*** on_message ***')

        listener = Listener(engine=self.engine)
        listener.DEFER_DURATION = 0.0
        listener.on_message(my_message)
        listener.on_message(my_private_message)
        with self.assertRaises(AssertionError):
            listener.on_message(my_join)
        with self.assertRaises(AssertionError):
            listener.on_message(my_leave)
        with self.assertRaises(AssertionError):
            listener.on_message(my_event)

        with mock.patch.object(self.engine, 'dispatch',
                               return_value=None) as mocked:
            listener.on_message(my_message)
            self.assertTrue(mocked.called)