Create test suite for wrapper functionality

This commit implements a comprehensive test suite for the HTTP wrapper components.

Test coverage:
- test_config.py: Configuration loader and validation tests
  - Required field validation
  - URL validation and formatting
  - Port range validation
  - Tool list parsing (enabled/disabled)
  - Environment variable generation
  - .env file loading

- test_filtering.py: Tool filtering tests
  - Passthrough mode (no filtering)
  - Whitelist mode (enabled_tools)
  - Blacklist mode (disabled_tools)
  - Tool list filtering
  - MCP response filtering
  - Edge cases (empty lists, missing names)

- test_middleware.py: HTTP authentication tests
  - BearerAuthMiddleware with/without token
  - Valid/invalid token handling
  - Missing/malformed Authorization headers
  - HTTP status codes (401, 403)
  - HealthCheckBypassMiddleware
  - Custom health check paths
  - Middleware ordering

Test infrastructure:
- conftest.py: Shared fixtures for common test data
- pytest.ini: Test configuration and markers
- Updated dev dependencies with test frameworks

Test execution:
- Run all tests: pytest
- Run with coverage: pytest --cov=gitea_http_wrapper
- Run specific test: pytest src/gitea_http_wrapper/tests/test_config.py

This test suite validates all wrapper components except the main server (which would require integration tests with a real Gitea MCP server).

Closes #17

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 16:11:39 -05:00
parent d21f85545b
commit 4e81b9bb96
7 changed files with 600 additions and 0 deletions

View File

@@ -37,6 +37,8 @@ dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"pytest-cov>=4.0.0",
"httpx>=0.24.0",
"starlette>=0.36.0",
]
[project.scripts]