Package: src:python-twilio
Version: 7.7.1+ds1-1
Severity: serious
Tags: sid trixie ftbfs
User: [email protected]
Usertags: python3.12

With python3-defaults from experimental, the package fails to build:

[...]
=================================== FAILURES =================================== ___________________ ClientValidationJwtTest.test_jwt_payload ___________________

self = <tests.unit.jwt.test_client_validation.ClientValidationJwtTest testMethod=test_jwt_payload>

    def test_jwt_payload(self):
        vp = ValidationPayload(
            method='GET',
            path='/Messages',
            query_string='PageSize=5&Limit=10',
            signed_headers=['authorization', 'host'],
all_headers={'authorization': 'foobar', 'host': 'api.twilio.com'},
            body='foobar'
        )
expected_hash = '4dc9b67bed579647914587b0e22a1c65c1641d8674797cd82de65e766cce5f80'

        jwt = ClientValidationJwt('AC123', 'SK123', 'CR123', 'secret', vp)

>       self.assertDictContainsSubset({
            'hrh': 'authorization;host',
            'rqh': expected_hash,
            'iss': 'SK123',
            'sub': 'AC123',
        }, jwt.payload)
E AttributeError: 'ClientValidationJwtTest' object has no attribute 'assertDictContainsSubset'

tests/unit/jwt/test_client_validation.py:234: AttributeError
___________________ ClientValidationJwtTest.test_jwt_signing ___________________

self = <tests.unit.jwt.test_client_validation.ClientValidationJwtTest testMethod=test_jwt_signing>

    def test_jwt_signing(self):
        vp = ValidationPayload(
            method='GET',
            path='/Messages',
            query_string='PageSize=5&Limit=10',
            signed_headers=['authorization', 'host'],
all_headers={'authorization': 'foobar', 'host': 'api.twilio.com'},
            body='foobar'
        )
expected_hash = '4dc9b67bed579647914587b0e22a1c65c1641d8674797cd82de65e766cce5f80'

        private_key = rsa.generate_private_key(
            public_exponent=65537,
            key_size=2048,
            backend=default_backend()
        )
public_key = private_key.public_key().public_bytes(Encoding.PEM, PublicFormat.PKCS1) private_key = private_key.private_bytes(Encoding.PEM, PrivateFormat.PKCS8, NoEncryption())

jwt = ClientValidationJwt('AC123', 'SK123', 'CR123', private_key, vp)
        decoded = ClientValidationJwt.from_jwt(jwt.to_jwt(), public_key)

>       self.assertDictContainsSubset({
            'hrh': 'authorization;host',
            'rqh': expected_hash,
            'iss': 'SK123',
            'sub': 'AC123',
        }, decoded.payload)
E AttributeError: 'ClientValidationJwtTest' object has no attribute 'assertDictContainsSubset'

tests/unit/jwt/test_client_validation.py:271: AttributeError
__________________________ JwtTest.test_encode_decode __________________________

self = <tests.unit.jwt.test_jwt.JwtTest testMethod=test_encode_decode>

    def test_encode_decode(self):
        test_start = self.now()

jwt = DummyJwt('secret_key', 'issuer', subject='hey', payload={'sick': 'sick'})
        decoded_jwt = Jwt.from_jwt(jwt.to_jwt(), 'secret_key')

        self.assertGreaterEqual(decoded_jwt.valid_until, self.now() + 3600)
        self.assertGreaterEqual(decoded_jwt.nbf, test_start)
        self.assertEqual(decoded_jwt.issuer, 'issuer')
        self.assertEqual(decoded_jwt.secret_key, 'secret_key')
        self.assertEqual(decoded_jwt.algorithm, 'HS256')
        self.assertEqual(decoded_jwt.subject, 'hey')

self.assertEqual(decoded_jwt.headers, {'typ': 'JWT', 'alg': 'HS256'})
>       self.assertDictContainsSubset({
            'iss': 'issuer',
            'sub': 'hey',
            'sick': 'sick',
        }, decoded_jwt.payload)
E AttributeError: 'JwtTest' object has no attribute 'assertDictContainsSubset'

tests/unit/jwt/test_jwt.py:206: AttributeError

Reply via email to