Skip to main content
Glama

mcp-server-qdrant

Official
by qdrant
test_settings.py4.87 kB
import pytest from mcp_server_qdrant.embeddings.types import EmbeddingProviderType from mcp_server_qdrant.settings import ( DEFAULT_TOOL_FIND_DESCRIPTION, DEFAULT_TOOL_STORE_DESCRIPTION, EmbeddingProviderSettings, QdrantSettings, ToolSettings, ) class TestQdrantSettings: def test_default_values(self): """Test that required fields raise errors when not provided.""" # Should not raise error because there are no required fields QdrantSettings() def test_minimal_config(self, monkeypatch): """Test loading minimal configuration from environment variables.""" monkeypatch.setenv("QDRANT_URL", "http://localhost:6333") monkeypatch.setenv("COLLECTION_NAME", "test_collection") settings = QdrantSettings() assert settings.location == "http://localhost:6333" assert settings.collection_name == "test_collection" assert settings.api_key is None assert settings.local_path is None def test_full_config(self, monkeypatch): """Test loading full configuration from environment variables.""" monkeypatch.setenv("QDRANT_URL", "http://qdrant.example.com:6333") monkeypatch.setenv("QDRANT_API_KEY", "test_api_key") monkeypatch.setenv("COLLECTION_NAME", "my_memories") monkeypatch.setenv("QDRANT_SEARCH_LIMIT", "15") monkeypatch.setenv("QDRANT_READ_ONLY", "1") settings = QdrantSettings() assert settings.location == "http://qdrant.example.com:6333" assert settings.api_key == "test_api_key" assert settings.collection_name == "my_memories" assert settings.search_limit == 15 assert settings.read_only is True def test_local_path_config(self, monkeypatch): """Test loading local path configuration from environment variables.""" monkeypatch.setenv("QDRANT_LOCAL_PATH", "/path/to/local/qdrant") settings = QdrantSettings() assert settings.local_path == "/path/to/local/qdrant" def test_local_path_is_exclusive_with_url(self, monkeypatch): """Test that local path cannot be set if Qdrant URL is provided.""" monkeypatch.setenv("QDRANT_URL", "http://localhost:6333") monkeypatch.setenv("QDRANT_LOCAL_PATH", "/path/to/local/qdrant") with pytest.raises(ValueError): QdrantSettings() monkeypatch.delenv("QDRANT_URL", raising=False) monkeypatch.setenv("QDRANT_API_KEY", "test_api_key") with pytest.raises(ValueError): QdrantSettings() class TestEmbeddingProviderSettings: def test_default_values(self): """Test default values are set correctly.""" settings = EmbeddingProviderSettings() assert settings.provider_type == EmbeddingProviderType.FASTEMBED assert settings.model_name == "sentence-transformers/all-MiniLM-L6-v2" def test_custom_values(self, monkeypatch): """Test loading custom values from environment variables.""" monkeypatch.setenv("EMBEDDING_MODEL", "custom_model") settings = EmbeddingProviderSettings() assert settings.provider_type == EmbeddingProviderType.FASTEMBED assert settings.model_name == "custom_model" class TestToolSettings: def test_default_values(self): """Test that default values are set correctly when no env vars are provided.""" settings = ToolSettings() assert settings.tool_store_description == DEFAULT_TOOL_STORE_DESCRIPTION assert settings.tool_find_description == DEFAULT_TOOL_FIND_DESCRIPTION def test_custom_store_description(self, monkeypatch): """Test loading custom store description from environment variable.""" monkeypatch.setenv("TOOL_STORE_DESCRIPTION", "Custom store description") settings = ToolSettings() assert settings.tool_store_description == "Custom store description" assert settings.tool_find_description == DEFAULT_TOOL_FIND_DESCRIPTION def test_custom_find_description(self, monkeypatch): """Test loading custom find description from environment variable.""" monkeypatch.setenv("TOOL_FIND_DESCRIPTION", "Custom find description") settings = ToolSettings() assert settings.tool_store_description == DEFAULT_TOOL_STORE_DESCRIPTION assert settings.tool_find_description == "Custom find description" def test_all_custom_values(self, monkeypatch): """Test loading all custom values from environment variables.""" monkeypatch.setenv("TOOL_STORE_DESCRIPTION", "Custom store description") monkeypatch.setenv("TOOL_FIND_DESCRIPTION", "Custom find description") settings = ToolSettings() assert settings.tool_store_description == "Custom store description" assert settings.tool_find_description == "Custom find description"

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/qdrant/mcp-server-qdrant'

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