import sys import os sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir)) from env_config import read_env_config def test_openai_simple(): """ Simple OpenAI only env vars. Non OpenAI related env vars are ignored. """ env = { 'HOSTNAME': 'localhost', 'OPENAI_API_KEY': '', } config = read_env_config("COMPLETION", env) assert 'HOSTNAME' not in config assert config['OPENAI_API_KEY'] == '' def test_azure_simple(): """ Simple Azure OpenAI only env vars. Non OpenAI related env vars are ignored. """ env = { 'HOSTNAME': 'localhost', 'AZURE_OPENAI_ENDPOINT': '', 'AZURE_OPENAI_API_KEY': '', 'OPENAI_API_VERSION': '', } config = read_env_config("COMPLETION", env) assert 'HOSTNAME' not in config assert config['AZURE_OPENAI_ENDPOINT'] == '' assert config['AZURE_OPENAI_API_KEY'] == '' assert config['OPENAI_API_VERSION'] == '' def test_azure_override(): """ Test that the completion config overrides the base config and that the embedding config doesn't interfere and that non OpenAI related env vars are ignored. """ env = { 'HOSTNAME': 'localhost', 'AZURE_OPENAI_ENDPOINT': '', 'AZURE_OPENAI_API_KEY': '', 'OPENAI_API_VERSION': '', 'COMPLETION_AZURE_OPENAI_ENDPOINT': '', 'COMPLETION_AZURE_OPENAI_API_KEY': '', 'EMBEDDING_AZURE_OPENAI_ENDPOINT': '', 'EMBEDDING_AZURE_OPENAI_API_KEY': '', } comp_config = read_env_config("COMPLETION", env) assert 'HOSTNAME' not in comp_config assert comp_config['AZURE_OPENAI_ENDPOINT'] == '' assert comp_config['AZURE_OPENAI_API_KEY'] == '' assert comp_config['OPENAI_API_VERSION'] == '' emb_config = read_env_config("EMBEDDING", env) assert 'HOSTNAME' not in emb_config assert emb_config['AZURE_OPENAI_ENDPOINT'] == '' assert emb_config['AZURE_OPENAI_API_KEY'] == '' assert emb_config['OPENAI_API_VERSION'] == '' def test_openai_override(): """ Test that the completion config overrides the base config and that the embedding config doesn't interfere and that non OpenAI related env vars are ignored. """ env = { 'HOSTNAME': 'localhost', 'OPENAI_ENDPOINT': '', 'OPENAI_API_KEY': '', 'OPENAI_API_VERSION': '', 'COMPLETION_OPENAI_ENDPOINT': '', 'COMPLETION_OPENAI_API_KEY': '', 'EMBEDDING_OPENAI_ENDPOINT': '', 'EMBEDDING_OPENAI_API_KEY': '', } comp_config = read_env_config("COMPLETION", env) assert 'HOSTNAME' not in comp_config assert comp_config['OPENAI_ENDPOINT'] == '' assert comp_config['OPENAI_API_KEY'] == '' assert comp_config['OPENAI_API_VERSION'] == '' emb_config = read_env_config("EMBEDDING", env) assert 'HOSTNAME' not in emb_config assert emb_config['OPENAI_ENDPOINT'] == '' assert emb_config['OPENAI_API_KEY'] == '' assert emb_config['OPENAI_API_VERSION'] == ''