Files
litellm/tests/proxy_unit_tests/test_proxy_encrypt_decrypt.py
T
Krish Dholakia eed0cf2ee9 UI SSO - fix reset env var when ui_access_mode is updated (#13011)
* fix(ui_sso.py): fix form action on login when sso is enabled

* fix: multiple fixes - fix resetting env var in proxy config + add key to exception message on key decryption

fixes issue where env vars would be reset

* refactor(proxy_server.py): cleanup redundant decryption line

* fix(proxy_setting_endpoints.py): show saved ui access mode

allows admin to know what they'd previously stored in db
2025-07-26 11:42:41 -07:00

51 lines
1.8 KiB
Python

import os
import sys
import pytest
from dotenv import load_dotenv
load_dotenv()
import io
import os
sys.path.insert(
0, os.path.abspath("../..")
) # Adds-the parent directory to the system path
from litellm.proxy import proxy_server
from litellm.proxy.common_utils.encrypt_decrypt_utils import (
decrypt_value_helper,
encrypt_value_helper,
)
def test_encrypt_decrypt_with_master_key():
setattr(proxy_server, "master_key", "sk-1234")
assert decrypt_value_helper(encrypt_value_helper("test", key="test_key")) == "test"
assert decrypt_value_helper(encrypt_value_helper(10, key="test_key")) == 10
assert decrypt_value_helper(encrypt_value_helper(True, key="test_key")) is True
assert decrypt_value_helper(encrypt_value_helper(None, key="test_key")) is None
assert decrypt_value_helper(encrypt_value_helper({"rpm": 10}, key="test_key")) == {
"rpm": 10
}
# encryption should actually occur for strings
assert encrypt_value_helper("test", key="test_key") != "test"
def test_encrypt_decrypt_with_salt_key():
os.environ["LITELLM_SALT_KEY"] = "sk-salt-key2222"
print(f"LITELLM_SALT_KEY: {os.environ['LITELLM_SALT_KEY']}")
assert decrypt_value_helper(encrypt_value_helper("test", key="test_key")) == "test"
assert decrypt_value_helper(encrypt_value_helper(10, key="test_key")) == 10
assert decrypt_value_helper(encrypt_value_helper(True, key="test_key")) is True
assert decrypt_value_helper(encrypt_value_helper(None, key="test_key")) is None
assert decrypt_value_helper(encrypt_value_helper({"rpm": 10}, key="test_key")) == {
"rpm": 10
}
# encryption should actually occur for strings
assert encrypt_value_helper("test", key="test_key") != "test"
os.environ.pop("LITELLM_SALT_KEY", None)