def test_directed_commands(self, message):
        handler = CommandHandler('test', self.callback_basic)

        message.text = '/test@{}'.format(message.bot.username)
        assert handler.check_update(Update(0, message))

        message.text = '/test@otherbot'
        assert not handler.check_update(Update(0, message))
    def test_edited(self, message):
        handler = CommandHandler('test', self.callback_basic, allow_edited=False)

        message.text = '/test'
        assert handler.check_update(Update(0, message))
        assert not handler.check_update(Update(0, edited_message=message))
        handler.allow_edited = True
        assert handler.check_update(Update(0, message))
        assert handler.check_update(Update(0, edited_message=message))
    def test_with_filter(self, message):
        handler = CommandHandler('test', self.callback_basic, Filters.group)

        message.chat = Chat(-23, 'group')
        message.text = '/test'
        assert handler.check_update(Update(0, message))

        message.chat = Chat(23, 'private')
        assert not handler.check_update(Update(0, message))
    def test_command_list(self, message):
        handler = CommandHandler(['test', 'start'], self.callback_basic)

        message.text = '/test'
        assert handler.check_update(Update(0, message))

        message.text = '/start'
        assert handler.check_update(Update(0, message))

        message.text = '/stop'
        assert not handler.check_update(Update(0, message))
    def test_no_edited(self, message):
        handler = CommandHandler('test', self.callback_basic)
        message.text = '/test'
        check = handler.check_update(Update(0, message))
        assert check is not None and check is not False

        check = handler.check_update(Update(0, edited_message=message))
        assert check is not None and check is not False

        handler = CommandHandler('test', self.callback_basic,
                                 filters=~Filters.update.edited_message)
        check = handler.check_update(Update(0, message))
        assert check is not None and check is not False

        check = handler.check_update(Update(0, edited_message=message))
        assert check is None or check is False
    def test_single_char(self, dp, message):
        # Regression test for https://github.com/python-telegram-bot/python-telegram-bot/issues/871
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = 'a'
        assert not handler.check_update(Update(0, message))
    def test_single_slash(self, dp, message):
        # Regression test for https://github.com/python-telegram-bot/python-telegram-bot/issues/871
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/'
        assert not handler.check_update(Update(0, message))
    def test_edited_deprecated(self, message):
        handler = CommandHandler('test', self.callback_basic,
                                 allow_edited=False)
        message.text = '/test'
        check = handler.check_update(Update(0, message))
        assert check is not None and check is not False

        check = handler.check_update(Update(0, edited_message=message))
        assert check is None or check is False

        handler = CommandHandler('test', self.callback_basic,
                                 allow_edited=True)
        check = handler.check_update(Update(0, message))
        assert check is not None and check is not False

        check = handler.check_update(Update(0, edited_message=message))
        assert check is not None and check is not False
    def test_basic(self, dp, message):
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/test'
        assert handler.check_update(Update(0, message))
        dp.process_update(Update(0, message))
        assert self.test_flag

        message.text = '/nottest'
        assert not handler.check_update(Update(0, message))

        message.text = 'test'
        assert not handler.check_update(Update(0, message))

        message.text = 'not /test at start'
        assert not handler.check_update(Update(0, message))
    def test_basic(self, dp, message):
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/test'
        assert handler.check_update(Update(0, message))
        dp.process_update(Update(0, message))
        assert self.test_flag

        message.text = '/nottest'
        assert not handler.check_update(Update(0, message))

        message.text = 'test'
        assert not handler.check_update(Update(0, message))

        message.text = 'not /test at start'
        assert not handler.check_update(Update(0, message))
    def test_newline(self, dp, message):
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/test\nfoobar'
        assert handler.check_update(Update(0, message))
        dp.process_update(Update(0, message))
        assert self.test_flag
    def test_newline(self, dp, message):
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/test\nfoobar'
        assert handler.check_update(Update(0, message))
        dp.process_update(Update(0, message))
        assert self.test_flag
Exemple #13
0
    def test_filters_for_wrong_command(self, message):
        """Filters should not be executed if the command does not match the handler"""
        class TestFilter(BaseFilter):
            def __init__(self):
                self.tested = False

            def filter(self, message):
                self.tested = True

        test_filter = TestFilter()

        handler = CommandHandler('foo',
                                 self.callback_basic,
                                 filters=test_filter)
        message.text = '/bar'

        handler.check_update(Update(0, message=message))

        assert not test_filter.tested
    def test_basic(self, dp, message):
        handler = CommandHandler('test', self.callback_basic)
        dp.add_handler(handler)

        message.text = '/test'
        dp.process_update(Update(0, message))
        assert self.test_flag

        message.text = '/nottest'
        check = handler.check_update(Update(0, message))
        assert check is None or check is False

        message.text = 'test'
        check = handler.check_update(Update(0, message))
        assert check is None or check is False

        message.text = 'not /test at start'
        check = handler.check_update(Update(0, message))
        assert check is None or check is False

        message.entities = []
        message.text = '/test'
        check = handler.check_update(Update(0, message))
        assert check is None or check is False
Exemple #15
0
 def test_other_update_types(self, false_update):
     handler = CommandHandler('test', self.callback_basic)
     check = handler.check_update(false_update)
     assert check is None or check is False
 def test_other_update_types(self, false_update):
     handler = CommandHandler('test', self.callback_basic)
     assert not handler.check_update(false_update)
 def test_other_update_types(self, false_update):
     handler = CommandHandler('test', self.callback_basic)
     assert not handler.check_update(false_update)