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:
115
tests/README.md
Normal file
115
tests/README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Testing Guide
|
||||
|
||||
## Integration Tests
|
||||
|
||||
### Quick Start
|
||||
|
||||
```bash
|
||||
# In Docker container:
|
||||
docker exec -it mcphub python tests/run_integration_tests.py
|
||||
|
||||
# Or local:
|
||||
python tests/run_integration_tests.py
|
||||
```
|
||||
|
||||
### What Gets Tested
|
||||
|
||||
1. **Module Imports** - All modules load correctly
|
||||
2. **BasePlugin Architecture** - Plugin system compatibility
|
||||
3. **WordPress Plugin** - Initialization and handlers
|
||||
4. **Tool Specifications** - Format and completeness
|
||||
5. **Handlers Structure** - All 14 handlers present
|
||||
6. **Pydantic Schemas** - Validation working
|
||||
7. **ToolGenerator Integration** - Dynamic tool generation ready
|
||||
|
||||
### Expected Output
|
||||
|
||||
```
|
||||
Running Integration Tests for WordPress MCP Server
|
||||
============================================================
|
||||
|
||||
Running: Imports... PASSED
|
||||
Running: Base Plugin... PASSED
|
||||
Running: WordPress Plugin Init... PASSED
|
||||
Running: Tool Specifications... PASSED
|
||||
Running: Handlers Structure... PASSED
|
||||
Running: Pydantic Schemas... PASSED
|
||||
Running: ToolGenerator Integration... PASSED
|
||||
|
||||
============================================================
|
||||
Test Summary:
|
||||
Total: 7
|
||||
Passed: 7
|
||||
Failed: 0
|
||||
Skipped: 0
|
||||
```
|
||||
|
||||
### Exit Codes
|
||||
|
||||
- `0` - All tests passed
|
||||
- `1` - Some tests failed
|
||||
|
||||
### JSON Output
|
||||
|
||||
The script also outputs results as JSON for programmatic parsing:
|
||||
|
||||
```json
|
||||
{
|
||||
"timestamp": "2025-11-16T10:30:00",
|
||||
"tests": [
|
||||
{
|
||||
"name": "imports",
|
||||
"status": "passed",
|
||||
"message": "All modules imported successfully",
|
||||
"details": {}
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"total": 7,
|
||||
"passed": 7,
|
||||
"failed": 0,
|
||||
"skipped": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Manual Testing with Real Sites
|
||||
|
||||
To test with real sites, use MCP Inspector or Claude Desktop:
|
||||
|
||||
```python
|
||||
# Test health
|
||||
wordpress_get_site_health(site="mysite")
|
||||
|
||||
# Test posts
|
||||
wordpress_list_posts(site="mysite", per_page=5)
|
||||
|
||||
# Test products
|
||||
wordpress_list_products(site="mysite", per_page=5)
|
||||
|
||||
# Test WP-CLI (requires container access)
|
||||
wordpress_wp_cache_type(site="mysite")
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Import Errors
|
||||
|
||||
```
|
||||
Error: ModuleNotFoundError: No module named 'plugins'
|
||||
```
|
||||
|
||||
**Fix**: Run from project root:
|
||||
```bash
|
||||
cd /app # In Docker
|
||||
python tests/run_integration_tests.py
|
||||
```
|
||||
|
||||
### Handler Errors
|
||||
|
||||
```
|
||||
Error: Can't instantiate abstract class WordPressPlugin
|
||||
```
|
||||
|
||||
**Fix**: This means BasePlugin still has abstract get_tools().
|
||||
This should be fixed in the latest version.
|
||||
Reference in New Issue
Block a user