Ejemplo n.º 1
0
 def get_me(self):
     assert self.return_python_objects
     from pytgbot.api_types.receivable.peer import User
     return User(id=0,
                 is_bot=True,
                 first_name="UNITTEST",
                 username="******")
Ejemplo n.º 2
0
    def test_commands(self):
        self.m.BEST_PONY = self.s
        self.assertEqual(self.m.CURRENT, self.m.DEFAULT)
        self.assertEqual(self.m.CURRENT.name, 'DEFAULT')

        update = Update(1,
                        message=Message(2,
                                        date=int(time.time()),
                                        from_peer=User(3, False, "Günter"),
                                        chat=Chat(4, 'supergroup',
                                                  'FAKE CHAT'),
                                        text='/start'))
        called = [False, False]

        def call_me(i):
            def call_me_inner(u, text):
                logger.info('called {i}.'.format(i=i))
                self.assertEqual(u, update)
                called[i] = True

            # end def
            return call_me_inner

        # end def

        self.m.DEFAULT.command('start')(call_me(0))
        self.m.BEST_PONY.command('start')(call_me(1))

        self.m.BEST_PONY.activate()
        self.assertEqual(self.m.CURRENT, self.s)
        self.assertEqual(self.m.CURRENT, self.m.BEST_PONY)
        self.assertEqual(self.m.CURRENT.name, 'BEST_PONY')

        self.m.process_update(update)
        self.assertEqual(
            self.m.CURRENT, self.m.DEFAULT,
            "load_state_for_chat_user should set DEFAULT (None) state again.")
        self.assertEqual(
            self.m.CURRENT.name, 'DEFAULT',
            "load_state_for_chat_user should set DEFAULT (None) state again.")
        self.assertTrue(
            called[0],
            'DEFAULT should have been called: load_state_for_chat_user set DEFAULT (None) state again.'
        )
        self.assertFalse(
            called[1],
            'BEST_PONY should not have been called: load_state_for_chat_user set DEFAULT (None) state again.'
        )
Ejemplo n.º 3
0
    def from_array(array):
        """
        Deserializes a new User from a given dictionary.

        :return: new User instance.
        :rtype: User
        """
        if array is None or not array:
            return None
        # end if
        assert(isinstance(array, dict))
        
        data = {}
        data['id'] = int(array.get('id'))
        data['first_name'] = str(array.get('first_name'))
        data['last_name'] = str(array.get('last_name')) if array.get('last_name') is not None else None
        data['username'] = str(array.get('username')) if array.get('username') is not None else None
        return User(**data)
Ejemplo n.º 4
0
    def from_array(array):
        """
        Deserialize a new User from a given dictionary.

        :return: new User instance.
        :rtype: User
        """
        if array is None or not array:
            return None
        # end if
        assert_type_or_raise(array, dict, parameter_name="array")

        data = {}
        data['id'] = int(array.get('id'))
        data['first_name'] = u(array.get('first_name'))
        data['last_name'] = u(array.get('last_name')) if array.get(
            'last_name') is not None else None
        data['username'] = u(array.get('username')) if array.get(
            'username') is not None else None
        data['language_code'] = u(array.get('language_code')) if array.get(
            'language_code') is not None else None
        data['_raw'] = array
        return User(**data)