Skip to main content
Glama
test_typing_utils.py2.47 kB
"""Tests for typing utilities, especially environment variable handling.""" from __future__ import annotations import os from unittest.mock import patch from spice_mcp.adapters.dune.typing_utils import resolve_raw_sql_template_id def test_resolve_raw_sql_template_id_default(): """Test that the function returns the default template ID when no env var is set.""" # Ensure env var is not set with patch.dict(os.environ, {}, clear=True): result = resolve_raw_sql_template_id() assert result == 4060379 assert isinstance(result, int) def test_resolve_raw_sql_template_id_from_env(): """Test that the function reads from the SPICE_RAW_SQL_QUERY_ID environment variable.""" custom_id = "12345" with patch.dict(os.environ, {"SPICE_RAW_SQL_QUERY_ID": custom_id}): result = resolve_raw_sql_template_id() assert result == int(custom_id) def test_resolve_raw_sql_template_id_invalid_env(): """Test that the function handles invalid environment variable values gracefully.""" with patch.dict(os.environ, {"SPICE_RAW_SQL_QUERY_ID": "invalid_number"}): # Function should gracefully fallback to default when conversion fails result = resolve_raw_sql_template_id() assert result == 4060379 # Should fallback to default assert isinstance(result, int) def test_resolve_raw_sql_template_id_zero_env(): """Test that the function handles zero value correctly.""" with patch.dict(os.environ, {"SPICE_RAW_SQL_QUERY_ID": "0"}): result = resolve_raw_sql_template_id() assert result == 0 def test_determine_input_type_raw_sql_uses_template_id(monkeypatch): """Test that determine_input_type correctly resolves raw SQL using the template ID.""" from spice_mcp.adapters.dune.extract import determine_input_type # Test with default template ID with patch.dict(os.environ, {}, clear=True): query_id, execution, parameters = determine_input_type("SELECT 1 as test") assert query_id == 4060379 assert execution is None assert parameters == {"query": "SELECT 1 as test"} # Test with custom template ID with patch.dict(os.environ, {"SPICE_RAW_SQL_QUERY_ID": "12345"}): query_id, execution, parameters = determine_input_type("SELECT count(*) as total") assert query_id == 12345 assert execution is None assert parameters == {"query": "SELECT count(*) as total"}

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/Evan-Kim2028/spice-mcp'

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