MCP Google Suite
by adexltd
Verified
- mcp-google-suite
- tests
"""Tests for the config module."""
import json
import os
import tempfile
from pathlib import Path
from mcp_google_suite.config import Config, CredentialsConfig
def test_default_config():
"""Test default configuration values."""
config = Config()
assert isinstance(config.credentials, CredentialsConfig)
assert config.credentials.server_credentials.endswith("server-creds.json")
assert config.credentials.oauth_credentials.endswith("oauth.keys.json")
def test_custom_config():
"""Test loading custom configuration."""
with tempfile.TemporaryDirectory() as temp_dir:
config_path = Path(temp_dir) / "config.json"
custom_config = {
"credentials": {
"server_credentials": "/custom/path/server-creds.json",
"oauth_credentials": "/custom/path/oauth.keys.json",
}
}
with open(config_path, "w") as f:
json.dump(custom_config, f)
config = Config.load(str(config_path))
assert config.credentials.server_credentials == "/custom/path/server-creds.json"
assert config.credentials.oauth_credentials == "/custom/path/oauth.keys.json"
def test_ensure_credentials_dir():
"""Test directory creation for credentials."""
with tempfile.TemporaryDirectory() as temp_dir:
test_google_dir = Path(temp_dir) / ".google"
config = Config(
credentials=CredentialsConfig(
server_credentials=str(test_google_dir / "server-creds.json"),
oauth_credentials=str(test_google_dir / "oauth.keys.json"),
)
)
config.ensure_credentials_dir()
assert test_google_dir.exists()
def test_expanded_paths():
"""Test path expansion in credential paths."""
config = Config(
credentials=CredentialsConfig(
server_credentials="~/test/server-creds.json",
oauth_credentials="~/test/oauth.keys.json",
)
)
assert config.credentials.expanded_server_credentials == os.path.expanduser(
"~/test/server-creds.json"
)
assert config.credentials.expanded_oauth_credentials == os.path.expanduser(
"~/test/oauth.keys.json"
)