Настройки переопределения Django не назначаются в методе __init__, даже если они доступны

Я переопределяю настройки для всего тестового класса следующим образом:

@mock_aws
@override_settings(
        AWS_CLOUDFRONT_DOMAIN="fake_domain",
        AWS_CLOUDFRONT_KEY="fake_key",
        AWS_CLOUDFRONT_KEY_ID="fake_key_id",
        AWS_CLOUDFRONT_DISTRIBUTION_ID="fake_distribution_id",
    )
class TestCloudfrontClient(TestCase):
    def setUp(self):
        self.cf_client = CloudfrontClient()

и вот класс CloudfrontClient:

class CloudfrontClient:
    """Client to interact with AWS S3 through Cloudfront"""
    
    def __init__(
        self, 
        cloudfront_pk_id=settings.AWS_CLOUDFRONT_KEY_ID,
        cloudfront_key=settings.AWS_CLOUDFRONT_KEY,
        cloudfront_distribution_id=settings.AWS_CLOUDFRONT_DISTRIBUTION_ID,
        cloudfront_domain=settings.AWS_CLOUDFRONT_DOMAIN,
        rsa_signer=rsa_signer
    ):
        self.cf_client = client('cloudfront')
        self.distribution_id = cloudfront_distribution_id
        self.cloudfront_signer = CloudFrontSigner(cloudfront_pk_id, rsa_signer)
        self.cloudfront_domain = cloudfront_domain
        breakpoint()

В точке останова, если я печатаю settings.AWS_CLOUDFRONT_KEY_ID, я получаю fake_key_id, но когда я печатаю cloudfront_pk_id, я получаю пустую строку. То же самое происходит и с другими переменными, и это портит результаты моих тестов. Может быть, я что-то не понимаю в работе override_settings?

Вернуться на верх