From f58ecc5666935bcb95207dcf056ea9102c470455 Mon Sep 17 00:00:00 2001 From: "Kai A. Hiller" Date: Mon, 20 Jan 2025 17:00:19 +0100 Subject: [PATCH] Fix test for missing authlib --- tests/config/test_load.py | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/tests/config/test_load.py b/tests/config/test_load.py index 0d8a1f0a6d7..94a846adab6 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: @@ -189,15 +193,38 @@ def test_secret_files_existing( "macaroon_secret_key: 53C237", "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 admin_token: 53C237", "form_secret: 53C237", + *[ + "experimental_features:\n" + " msc3861:\n" + " enabled: true\n" + " client_secret: 53C237" + ] + * (authlib is not None), + *[ + "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" + ] + * (authlib is not None), *["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"] )