Skip to main content
Glama
GreptimeTeam

GreptimeDB MCP Server

Official
by GreptimeTeam
test_config.py4.44 kB
import os from unittest.mock import patch from greptimedb_mcp_server.config import Config def test_config_default_values(): """ Test default configuration values """ with patch.dict(os.environ, {}, clear=True): with patch("sys.argv", ["script_name"]): config = Config.from_env_arguments() assert config.host == "localhost" assert config.port == 4002 assert config.database == "public" assert config.user == "" assert config.password == "" assert config.time_zone == "" assert config.http_protocol == "http" assert config.mask_enabled is True assert config.mask_patterns == "" def test_config_env_variables(): """ Test configuration via environment variables """ env_vars = { "GREPTIMEDB_HOST": "test-host", "GREPTIMEDB_PORT": "5432", "GREPTIMEDB_DATABASE": "test_db", "GREPTIMEDB_USER": "test_user", "GREPTIMEDB_PASSWORD": "test_password", "GREPTIMEDB_TIMEZONE": "test_tz", "GREPTIMEDB_HTTP_PROTOCOL": "https", "GREPTIMEDB_MASK_ENABLED": "false", "GREPTIMEDB_MASK_PATTERNS": "phone,address", } with patch.dict(os.environ, env_vars): with patch("sys.argv", ["script_name"]): config = Config.from_env_arguments() assert config.host == "test-host" assert config.port == 5432 assert config.database == "test_db" assert config.user == "test_user" assert config.password == "test_password" assert config.time_zone == "test_tz" assert config.http_protocol == "https" assert config.mask_enabled is False assert config.mask_patterns == "phone,address" def test_config_cli_arguments(): """ Test configuration via command-line arguments """ cli_args = [ "script_name", "--host", "cli-host", "--port", "9999", "--database", "cli_db", "--user", "cli_user", "--password", "cli_password", "--timezone", "cli_tz", "--http-protocol", "https", "--mask-enabled", "false", "--mask-patterns", "custom1,custom2", ] with patch.dict(os.environ, {}, clear=True): with patch("sys.argv", cli_args): config = Config.from_env_arguments() assert config.host == "cli-host" assert config.port == 9999 assert config.database == "cli_db" assert config.user == "cli_user" assert config.password == "cli_password" assert config.time_zone == "cli_tz" assert config.http_protocol == "https" assert config.mask_enabled is False assert config.mask_patterns == "custom1,custom2" def test_config_precedence(): """ Test configuration precedence (CLI arguments override environment variables) """ env_vars = { "GREPTIMEDB_HOST": "env-host", "GREPTIMEDB_PORT": "6666", "GREPTIMEDB_DATABASE": "env_db", "GREPTIMEDB_USER": "env_user", "GREPTIMEDB_PASSWORD": "env_password", "GREPTIMEDB_TIMEZONE": "env_tz", "GREPTIMEDB_HTTP_PROTOCOL": "http", "GREPTIMEDB_MASK_ENABLED": "true", "GREPTIMEDB_MASK_PATTERNS": "env_pattern", } cli_args = [ "script_name", "--host", "cli-host", "--port", "9999", "--database", "cli_db", "--user", "cli_user", "--password", "cli_password", "--timezone", "cli_tz", "--http-protocol", "https", "--mask-enabled", "false", "--mask-patterns", "cli_pattern", ] with patch.dict(os.environ, env_vars): with patch("sys.argv", cli_args): config = Config.from_env_arguments() assert config.host == "cli-host" assert config.port == 9999 assert config.database == "cli_db" assert config.user == "cli_user" assert config.password == "cli_password" assert config.time_zone == "cli_tz" assert config.http_protocol == "https" assert config.mask_enabled is False assert config.mask_patterns == "cli_pattern"

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

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