Skip to main content
Glama

Chroma MCP Server

by djm81
test_validate_evidence.py4.38 kB
""" Unit tests for the validate_evidence.py script module. """ import sys import os import pytest from unittest.mock import patch, MagicMock import argparse from chroma_mcp_client.scripts.validate_evidence import main class TestValidateEvidenceScript: """Test cases for the validate_evidence.py script module.""" @patch("sys.argv", ["validate-evidence"]) @patch("subprocess.run") def test_validate_evidence_no_args(self, mock_subprocess_run): """Test validate-evidence with no arguments (all defaults).""" mock_subprocess_run.return_value = MagicMock(returncode=0) result = main() assert result == 0 mock_subprocess_run.assert_called_once() args = mock_subprocess_run.call_args[0][0] assert args[0] == "chroma-mcp-client" assert args[1] == "validate-evidence" # Check default flags with values assert "--workspace-dir" in args assert "--source-collection" in args assert "--output-format" in args @patch( "sys.argv", [ "validate-evidence", "--workflow-id", "wf123", "--test-name", "test1", "--status", "pass", "--workspace-dir", "/custom/workspace", "--source-collection", "custom_src", "--interactive", "--promote", "--output-format", "json", ], ) @patch("subprocess.run") def test_validate_evidence_all_args(self, mock_subprocess_run): """Test validate-evidence with all possible arguments.""" mock_subprocess_run.return_value = MagicMock(returncode=0) result = main() assert result == 0 mock_subprocess_run.assert_called_once() args = mock_subprocess_run.call_args[0][0] assert args[0] == "chroma-mcp-client" assert args[1] == "validate-evidence" assert "--workflow-id" in args and "wf123" in args assert "--test-name" in args and "test1" in args assert "--status" in args and "pass" in args assert "--workspace-dir" in args and "/custom/workspace" in args assert "--source-collection" in args and "custom_src" in args assert "--interactive" in args assert "--promote" in args assert "--output-format" in args and "json" in args @patch("chroma_mcp_client.scripts.validate_evidence.argparse.ArgumentParser.parse_args") @patch("subprocess.run") @patch("os.getcwd") def test_validate_evidence_default_values(self, mock_getcwd, mock_subprocess_run, mock_parse_args): """Test default values for validate-evidence.""" mock_getcwd.return_value = "/default/workspace" mock_args = argparse.Namespace( workflow_id=None, test_name=None, status=None, workspace_dir="/default/workspace", source_collection="test_results_v1", interactive=False, promote=False, output_format="text", ) mock_parse_args.return_value = mock_args mock_subprocess_run.return_value = MagicMock(returncode=0) result = main() assert result == 0 mock_subprocess_run.assert_called_once() args = mock_subprocess_run.call_args[0][0] assert "--workspace-dir" in args and "/default/workspace" in args assert "--source-collection" in args and "test_results_v1" in args assert "--output-format" in args and "text" in args @patch("chroma_mcp_client.scripts.validate_evidence.argparse.ArgumentParser.parse_args") @patch("subprocess.run") def test_validate_evidence_exception(self, mock_subprocess_run, mock_parse_args): """Test that validate-evidence handles exceptions properly.""" mock_args = argparse.Namespace( workflow_id=None, test_name=None, status=None, workspace_dir="/default/workspace", source_collection="test_results_v1", interactive=False, promote=False, output_format="text", ) mock_parse_args.return_value = mock_args mock_subprocess_run.side_effect = Exception("error") result = main() assert result == 1 mock_subprocess_run.assert_called_once()

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/djm81/chroma_mcp_server'

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