| from unittest import mock | |
| from llm_studio.app_utils.config import default_cfg | |
| from llm_studio.app_utils.setting_utils import ( | |
| EnvFileSaver, | |
| KeyRingSaver, | |
| NoSaver, | |
| Secrets, | |
| load_default_user_settings, | |
| ) | |
| def test_no_saver(): | |
| saver = NoSaver("test_user", "/") | |
| assert saver.save("name", "password") is None | |
| assert saver.load("name") is None | |
| assert saver.delete("name") is None | |
| def test_keyring_saver(mocker): | |
| mocker.patch("keyring.set_password") | |
| mocker.patch("keyring.get_password", return_value="password") | |
| mocker.patch("keyring.delete_password") | |
| saver = KeyRingSaver("test_user", "/") | |
| saver.save("name", "password") | |
| assert saver.load("name") == "password" | |
| saver.delete("name") | |
| assert mocker.patch("keyring.delete_password").is_called | |
| def test_env_file_saver(tmpdir): | |
| saver = EnvFileSaver("test_user", str(tmpdir)) | |
| saver.save("name", "password") | |
| saver.save("name2", "password2") | |
| assert saver.load("name") == "password" | |
| saver.delete("name") | |
| assert saver.load("name") is None | |
| assert saver.load("name2") == "password2" | |
| def test_secrets_get(): | |
| assert isinstance(Secrets.get("Do not save credentials permanently"), type) | |
| assert isinstance(Secrets.get("Keyring"), type) | |
| assert isinstance(Secrets.get(".env File"), type) | |
| def test_load_default_user_settings(mocker): | |
| q = mock.MagicMock() | |
| q.client = dict() | |
| mocker.patch("app_utils.utils.setting_utils.clear_secrets", return_value=None) | |
| load_default_user_settings(q) | |
| assert set(q.client.keys()) == set(default_cfg.user_settings.keys()) | |