Skip to main content
Glama
Gilfeather

Company API MCP Server Template

by Gilfeather
test_server.py1.78 kB
from unittest.mock import patch import pytest from server import ( _cache, get_cache_key, get_from_cache, set_cache, ) class TestCacheFunctions: def setup_method(self): """Clear cache before each test.""" _cache.clear() def test_get_cache_key(self): """Test cache key generation.""" key1 = get_cache_key("users/123") key2 = get_cache_key("users/123", {"limit": 10}) key3 = get_cache_key("users/123", {"limit": 10, "sort": "name"}) assert key1 == "users/123:" assert key2 == "users/123:[('limit', 10)]" assert key3 == "users/123:[('limit', 10), ('sort', 'name')]" def test_cache_operations(self): """Test cache set and get operations.""" cache_key = "test_key" test_data = {"id": 1, "name": "test"} # Initially empty assert get_from_cache(cache_key) is None # Set and get set_cache(cache_key, test_data) cached_data = get_from_cache(cache_key) assert cached_data == test_data def test_cache_expiry(self): """Test cache expiry functionality.""" cache_key = "test_key" test_data = {"id": 1, "name": "test"} # Mock time to test expiry with patch("time.time") as mock_time: # Set initial time mock_time.return_value = 1000 set_cache(cache_key, test_data) # Data should be available assert get_from_cache(cache_key) == test_data # Move time forward beyond TTL mock_time.return_value = 1400 # 400 seconds later (> 300 TTL) # Data should be expired assert get_from_cache(cache_key) is None if __name__ == "__main__": pytest.main([__file__])

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

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