Initial commit: MCP Hub Community Edition v3.0.0
Community edition generated from private repo via sync pipeline. Includes 9 plugins (WordPress, WooCommerce, WP Advanced, Gitea, n8n, Supabase, OpenPanel, Appwrite, Directus) with ~587 tools. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
94
scripts/test.sh
Normal file
94
scripts/test.sh
Normal file
@@ -0,0 +1,94 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================
|
||||
# MCP Hub - Test Runner Script
|
||||
# ============================================
|
||||
|
||||
set -e
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${BLUE}════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE} MCP Hub - Test Runner${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
# Check if virtual environment is activated
|
||||
if [ -z "$VIRTUAL_ENV" ]; then
|
||||
echo -e "${YELLOW}⚠ Virtual environment not activated${NC}"
|
||||
echo "Activating..."
|
||||
source venv/bin/activate
|
||||
fi
|
||||
|
||||
# Parse arguments
|
||||
TEST_TYPE=${1:-all}
|
||||
COVERAGE=${2:-yes}
|
||||
|
||||
case "$TEST_TYPE" in
|
||||
unit)
|
||||
echo -e "${BLUE}Running unit tests...${NC}"
|
||||
if [ "$COVERAGE" = "yes" ]; then
|
||||
pytest tests/test_*.py --cov=src --cov-report=term-missing --cov-report=html -v
|
||||
else
|
||||
pytest tests/test_*.py -v
|
||||
fi
|
||||
;;
|
||||
|
||||
integration)
|
||||
echo -e "${BLUE}Running integration tests...${NC}"
|
||||
if [ "$COVERAGE" = "yes" ]; then
|
||||
pytest tests/integration/ --cov=src --cov-report=term-missing -v
|
||||
else
|
||||
pytest tests/integration/ -v
|
||||
fi
|
||||
;;
|
||||
|
||||
security)
|
||||
echo -e "${BLUE}Running security tests...${NC}"
|
||||
pytest tests/test_security.py -v
|
||||
;;
|
||||
|
||||
quick)
|
||||
echo -e "${BLUE}Running quick tests (no coverage)...${NC}"
|
||||
pytest -x --ff
|
||||
;;
|
||||
|
||||
all)
|
||||
echo -e "${BLUE}Running all tests with coverage...${NC}"
|
||||
pytest --cov=src --cov-report=term-missing --cov-report=html -v
|
||||
;;
|
||||
|
||||
*)
|
||||
echo -e "${YELLOW}Unknown test type: $TEST_TYPE${NC}"
|
||||
echo ""
|
||||
echo "Usage: ./scripts/test.sh [TYPE] [COVERAGE]"
|
||||
echo ""
|
||||
echo "Types:"
|
||||
echo " all - Run all tests (default)"
|
||||
echo " unit - Run only unit tests"
|
||||
echo " integration - Run only integration tests"
|
||||
echo " security - Run only security tests"
|
||||
echo " quick - Quick test run (exit on first failure)"
|
||||
echo ""
|
||||
echo "Coverage (optional):"
|
||||
echo " yes - Generate coverage report (default)"
|
||||
echo " no - Skip coverage"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " ./scripts/test.sh"
|
||||
echo " ./scripts/test.sh unit"
|
||||
echo " ./scripts/test.sh all no"
|
||||
echo " ./scripts/test.sh quick"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
if [ "$COVERAGE" = "yes" ]; then
|
||||
echo -e "${GREEN}✓ Coverage report saved to: htmlcov/index.html${NC}"
|
||||
fi
|
||||
echo -e "${GREEN}✓ Tests completed${NC}"
|
||||
Reference in New Issue
Block a user