diff --git a/tests/config/test_load.py b/tests/config/test_load.py index 0d8a1f0a6d7..16d13591f0f 100644 --- a/tests/config/test_load.py +++ b/tests/config/test_load.py @@ -22,7 +22,6 @@ import tempfile from typing import Callable from unittest import mock -from unittest.mock import Mock import yaml from parameterized import parameterized @@ -33,6 +32,11 @@ from tests.config.utils import ConfigFileTestCase +try: + import authlib +except ImportError: + authlib = None + try: import hiredis except ImportError: @@ -190,14 +194,25 @@ def test_secret_files_existing( "recaptcha_private_key: 53C237", "recaptcha_public_key: ¬53C237", "experimental_features:\n msc3861:\n enabled: true\n client_secret: 53C237", - 'experimental_features:\n msc3861:\n enabled: true\n client_auth_method: private_key_jwt\n jwk: {"mock": "mock"}', + *[ + "experimental_features:\n" + " msc3861:\n" + " enabled: true\n" + " client_auth_method: private_key_jwt\n" + ' jwk: {"mock": "mock"}' + ] + * (authlib is not None), "experimental_features:\n msc3861:\n enabled: true\n admin_token: 53C237", "form_secret: 53C237", *["redis:\n enabled: true\n password: 53C237"] * (hiredis is not None), ] ) - @mock.patch("authlib.jose.rfc7517.JsonWebKey.import_key") - def test_no_secrets_in_config(self, config_line: str, _jwkmock: Mock) -> None: + def test_no_secrets_in_config(self, config_line: str) -> None: + if authlib is not None: + patcher = mock.patch("authlib.jose.rfc7517.JsonWebKey.import_key") + self.addCleanup(patcher.stop) + patcher.start() + self.generate_config_and_remove_lines_containing( ["form_secret", "macaroon_secret_key", "registration_shared_secret"] )