Skip to main content
Glama

MCP Template

test_config_loader.py2.78 kB
""" Unit tests for configuration loader. """ import os from pathlib import Path import pytest from pydantic import ValidationError from mcp_template.core.config_loader import ConfigLoader from mcp_template.core.settings import Settings def test_settings_defaults(): """Test that Settings has reasonable defaults.""" settings = Settings() assert settings.server.name == "mcp-template-server" assert settings.server.version == "0.1.0" assert settings.logging.level.value == "INFO" assert settings.registry.enabled is True def test_settings_from_dict(): """Test loading settings from dictionary.""" config = { "server": { "name": "test-server", "version": "1.0.0", }, "registry": { "enabled": False, }, } settings = ConfigLoader.from_dict(config) assert settings.server.name == "test-server" assert settings.server.version == "1.0.0" assert settings.registry.enabled is False def test_settings_validation(): """Test that invalid settings raise validation errors.""" with pytest.raises(ValidationError): Settings( registry={ "url": "invalid-url", # Should fail - no protocol } ) def test_env_var_substitution(): """Test environment variable substitution.""" os.environ["TEST_API_KEY"] = "secret-key-123" loader = ConfigLoader() result = loader._substitute_env_vars({ "key": "${TEST_API_KEY}", "nested": { "value": "prefix-${TEST_API_KEY}-suffix" } }) assert result["key"] == "secret-key-123" assert result["nested"]["value"] == "prefix-secret-key-123-suffix" # Cleanup del os.environ["TEST_API_KEY"] def test_env_var_missing(): """Test that missing env vars keep the original string.""" loader = ConfigLoader() result = loader._substitute_env_vars("${NONEXISTENT_VAR}") assert result == "${NONEXISTENT_VAR}" def test_is_production(): """Test production environment detection.""" from mcp_template.core.settings import Environment settings = Settings( registry={ "metadata": { "environment": Environment.PRODUCTION } } ) assert settings.is_production() is True def test_is_debug(): """Test debug mode detection.""" from mcp_template.core.settings import LogLevel # Debug via server setting settings1 = Settings(server={"debug": True}) assert settings1.is_debug() is True # Debug via logging level settings2 = Settings(logging={"level": LogLevel.DEBUG}) assert settings2.is_debug() is True # Not debug settings3 = Settings() assert settings3.is_debug() is False

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/riteshsonawala/mcp-template'

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