Spaces:
Paused
Paused
| from __future__ import annotations | |
| import os | |
| import unittest | |
| from unittest.mock import patch | |
| from core.config import AppConfig | |
| from tests.helpers import workspace_tempdir | |
| class AppConfigTests(unittest.TestCase): | |
| def test_internal_secrets_persist_when_admin_credentials_change(self) -> None: | |
| with workspace_tempdir("config-") as temp_dir: | |
| base_env = { | |
| "DATA_DIR": str(temp_dir), | |
| "ADMIN": "root-one", | |
| "PASSWORD": "pass-one", | |
| } | |
| with patch.dict(os.environ, base_env, clear=False): | |
| first = AppConfig.load() | |
| changed_env = { | |
| "DATA_DIR": str(temp_dir), | |
| "ADMIN": "root-two", | |
| "PASSWORD": "pass-two", | |
| } | |
| with patch.dict(os.environ, changed_env, clear=False): | |
| second = AppConfig.load() | |
| self.assertEqual(first.session_secret, second.session_secret) | |
| self.assertEqual(first.encryption_key, second.encryption_key) | |
| self.assertEqual(second.super_admin_username, "root-two") | |
| self.assertEqual(second.super_admin_password, "pass-two") | |
| if __name__ == "__main__": | |
| unittest.main() | |