H2OTest / tests /app_utils /utils /setting_utils.py
elineve's picture
Upload 301 files
07423df
raw
history blame
1.61 kB
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())