Skip to main content
Glama

mcp-openvision

by Nazruden
test_config.py3.26 kB
"""Tests for the configuration module.""" import os import pytest from mcp_openvision.config import get_api_key, get_default_model, VisionModel from mcp_openvision.exceptions import ConfigurationError @pytest.fixture def clear_env_vars(): """Remove environment variables before tests and restore after.""" # Save original values original_api_key = os.environ.get("OPENROUTER_API_KEY") original_model = os.environ.get("OPENROUTER_DEFAULT_MODEL") # Clear environment variables if "OPENROUTER_API_KEY" in os.environ: del os.environ["OPENROUTER_API_KEY"] if "OPENROUTER_DEFAULT_MODEL" in os.environ: del os.environ["OPENROUTER_DEFAULT_MODEL"] yield # Restore original values if original_api_key: os.environ["OPENROUTER_API_KEY"] = original_api_key elif "OPENROUTER_API_KEY" in os.environ: del os.environ["OPENROUTER_API_KEY"] if original_model: os.environ["OPENROUTER_DEFAULT_MODEL"] = original_model elif "OPENROUTER_DEFAULT_MODEL" in os.environ: del os.environ["OPENROUTER_DEFAULT_MODEL"] def test_get_api_key_from_env(): """Test retrieving API key from environment variable.""" # Set environment variable os.environ["OPENROUTER_API_KEY"] = "test_api_key" # Get the API key api_key = get_api_key() # Check the result assert api_key == "test_api_key" def test_get_api_key_missing(clear_env_vars): """Test behavior when API key is missing.""" # Ensure environment variable is not set assert "OPENROUTER_API_KEY" not in os.environ # Attempt to get the API key, should raise ConfigurationError with pytest.raises(ConfigurationError) as excinfo: get_api_key() # Check the error message assert "OPENROUTER_API_KEY environment variable not set" in str(excinfo.value) def test_get_default_model_from_env(): """Test retrieving default model from environment variable.""" # Set environment variable to a valid model value valid_model = VisionModel.CLAUDE_3_SONNET.value os.environ["OPENROUTER_DEFAULT_MODEL"] = valid_model # Get the default model model = get_default_model() # Check the result assert model == VisionModel.CLAUDE_3_SONNET def test_get_default_model_invalid(): """Test behavior with an invalid model name.""" # Set environment variable to an invalid model original_value = os.environ.get("OPENROUTER_DEFAULT_MODEL") os.environ["OPENROUTER_DEFAULT_MODEL"] = "invalid/model-name" # Get the default model, should use fallback model = get_default_model() # Check that it returns the fallback model assert model == VisionModel.QWEN_QWQ_32B # Restore original value if it existed if original_value: os.environ["OPENROUTER_DEFAULT_MODEL"] = original_value else: del os.environ["OPENROUTER_DEFAULT_MODEL"] def test_get_default_model_fallback(clear_env_vars): """Test fallback to default model when not set in environment.""" # Ensure environment variable is not set assert "OPENROUTER_DEFAULT_MODEL" not in os.environ # Get the default model model = get_default_model() # Check that it returns the fallback value assert model == VisionModel.QWEN_QWQ_32B

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nazruden/mcp-openvision'

If you have feedback or need assistance with the MCP directory API, please join our Discord server