File size: 1,232 Bytes
e28c9e4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 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()
|