Skip to main content
Glama
test_get_process.py3.01 kB
"""Unit tests for get_process MCP tool. Tests the get_process tool implementation per mcp-tools.json contract. """ from __future__ import annotations from typing import TYPE_CHECKING if TYPE_CHECKING: from pathlib import Path class TestGetProcessImpl: """Tests for get_process_impl function (T009).""" def test_get_process_impl_success(self, temp_dir: Path) -> None: """Test successful process retrieval.""" from sso_mcp_server.processes.service import ProcessService from sso_mcp_server.tools.get_process import get_process_impl (temp_dir / "code-review.md").write_text( """--- name: Code Review Process description: Standard procedure for code reviews --- # Code Review Process ## Steps 1. Create PR 2. Review """ ) service = ProcessService(temp_dir) result = get_process_impl("code-review", service) assert "error" not in result assert result["name"] == "Code Review Process" assert result["description"] == "Standard procedure for code reviews" assert "# Code Review Process" in result["content"] def test_get_process_impl_not_found(self, temp_dir: Path) -> None: """Test process not found returns error with available list (FR-015).""" from sso_mcp_server.processes.service import ProcessService from sso_mcp_server.tools.get_process import get_process_impl (temp_dir / "existing.md").write_text( """--- name: Existing Process --- Content. """ ) service = ProcessService(temp_dir) result = get_process_impl("nonexistent", service) assert result["error"] == "PROCESS_NOT_FOUND" assert "nonexistent" in result["message"] assert "available" in result assert "Existing Process" in result["available"] def test_get_process_impl_case_insensitive(self, temp_dir: Path) -> None: """Test case-insensitive process retrieval.""" from sso_mcp_server.processes.service import ProcessService from sso_mcp_server.tools.get_process import get_process_impl (temp_dir / "deployment.md").write_text( """--- name: Deployment Guide --- Deploy content. """ ) service = ProcessService(temp_dir) # Should work regardless of case result = get_process_impl("DEPLOYMENT GUIDE", service) assert "error" not in result assert result["name"] == "Deployment Guide" def test_get_process_impl_empty_directory(self, temp_dir: Path) -> None: """Test get_process with empty directory returns error.""" from sso_mcp_server.processes.service import ProcessService from sso_mcp_server.tools.get_process import get_process_impl empty_dir = temp_dir / "empty" empty_dir.mkdir() service = ProcessService(empty_dir) result = get_process_impl("any", service) assert result["error"] == "PROCESS_NOT_FOUND" assert result["available"] == []

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

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