def test_equality(self):
        a = EncryptedPassportElement(self.type_, self.hash, data=self.data)
        b = EncryptedPassportElement(self.type_, self.hash, data=self.data)
        c = EncryptedPassportElement(self.data, "")
        d = PassportElementError("source", "type", "message")

        assert a == b
        assert hash(a) == hash(b)
        assert a is not b

        assert a != c
        assert hash(a) != hash(c)

        assert a != d
        assert hash(a) != hash(d)
Exemple #2
0
    def test_equality(self):
        a = EncryptedPassportElement(self.type_, data=self.data)
        b = EncryptedPassportElement(self.type_, data=self.data)
        c = EncryptedPassportElement(self.data, '')
        d = PassportElementError('source', 'type', 'message')

        assert a == b
        assert hash(a) == hash(b)
        assert a is not b

        assert a != c
        assert hash(a) != hash(c)

        assert a != d
        assert hash(a) != hash(d)
def encrypted_passport_element():
    return EncryptedPassportElement(TestEncryptedPassportElement.type,
                                    data=TestEncryptedPassportElement.data,
                                    phone_number=TestEncryptedPassportElement.phone_number,
                                    email=TestEncryptedPassportElement.email,
                                    files=TestEncryptedPassportElement.files,
                                    front_side=TestEncryptedPassportElement.front_side,
                                    reverse_side=TestEncryptedPassportElement.reverse_side,
                                    selfie=TestEncryptedPassportElement.selfie)
Exemple #4
0
    def de_json(cls, data, bot):
        if not data:
            return None

        data = super(PassportData, cls).de_json(data, bot)

        data['data'] = EncryptedPassportElement.de_list(data.get('data'), bot)
        data['credentials'] = EncryptedCredentials.de_json(data.get('credentials'), bot)

        return cls(bot=bot, **data)
    def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PassportData']:
        data = cls.parse_data(data)

        if not data:
            return None

        data['data'] = EncryptedPassportElement.de_list(data.get('data'), bot)
        data['credentials'] = EncryptedCredentials.de_json(data.get('credentials'), bot)

        return cls(bot=bot, **data)
    def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PassportData']:
        """See :meth:`telegram.TelegramObject.de_json`."""
        data = cls._parse_data(data)

        if not data:
            return None

        data['data'] = EncryptedPassportElement.de_list(data.get('data'), bot)
        data['credentials'] = EncryptedCredentials.de_json(data.get('credentials'), bot)

        return cls(bot=bot, **data)
Exemple #7
0
    def decrypted_data(self) -> List[EncryptedPassportElement]:
        """
        List[:class:`telegram.EncryptedPassportElement`]: Lazily decrypt and return information
            about documents and other Telegram Passport elements which were shared with the bot.

        Raises:
            telegram.TelegramDecryptionError: Decryption failed. Usually due to bad
                private/public key but can also suggest malformed/tampered data.
        """
        if self._decrypted_data is None:
            self._decrypted_data = [
                EncryptedPassportElement.de_json_decrypted(
                    element.to_dict(), self.bot, self.decrypted_credentials)
                for element in self.data
            ]
        return self._decrypted_data