Skip to main content
Glama
test_config.py1.94 kB
from pathlib import Path import pytest from relace_mcp.config import RelaceConfig class TestRelaceConfigFromEnv: def test_missing_api_key_raises(self, clean_env: None) -> None: with pytest.raises(RuntimeError, match="RELACE_API_KEY is not set"): RelaceConfig.from_env() def test_loads_api_key( self, clean_env: None, monkeypatch: pytest.MonkeyPatch, tmp_path: Path ) -> None: monkeypatch.setenv("RELACE_API_KEY", "my-secret-key") monkeypatch.setenv("RELACE_BASE_DIR", str(tmp_path)) config = RelaceConfig.from_env() assert config.api_key == "my-secret-key" class TestRelaceConfigBaseDir: def test_missing_base_dir_returns_none( self, clean_env: None, monkeypatch: pytest.MonkeyPatch ) -> None: """When RELACE_BASE_DIR is not set, base_dir should be None (resolved at runtime).""" monkeypatch.setenv("RELACE_API_KEY", "test-key") config = RelaceConfig.from_env() assert config.base_dir is None def test_base_dir_is_resolved_to_absolute( self, clean_env: None, monkeypatch: pytest.MonkeyPatch, tmp_path: Path ) -> None: monkeypatch.setenv("RELACE_API_KEY", "test-key") monkeypatch.setenv("RELACE_BASE_DIR", str(tmp_path)) config = RelaceConfig.from_env() assert config.base_dir == str(tmp_path.resolve()) def test_nonexistent_base_dir_raises( self, clean_env: None, monkeypatch: pytest.MonkeyPatch ) -> None: monkeypatch.setenv("RELACE_API_KEY", "test-key") monkeypatch.setenv("RELACE_BASE_DIR", "/nonexistent/path") with pytest.raises(RuntimeError, match="does not exist"): RelaceConfig.from_env() class TestRelaceConfigFrozen: def test_config_is_frozen(self, mock_config: RelaceConfig) -> None: with pytest.raises(AttributeError): mock_config.api_key = "new-key" # type: ignore[misc]

Latest Blog Posts

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/possible055/relace-mcp'

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