- Move tests from src/gitea_mcp_remote/tests/ to tests/ (top-level)
- Update pytest.ini to point to new test location
- All imports already use absolute paths (gitea_mcp_remote.*)
- Tests run successfully from new location (28/30 pass, 2 pre-existing failures)
This improves project structure by following standard Python conventions
where tests live at the repository root level rather than inside the
source package.
Closes#21
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Issue #19 - Foundation for Sprint 01: Core Architecture Correction
Changes:
- Renamed package directory: gitea_http_wrapper -> gitea_mcp_remote
- Updated config/settings.py:
- Made gitea_repo optional (allow None)
- Added mcp_auth_mode field (default: "optional")
- Changed HTTP defaults: 0.0.0.0:8080 (was 127.0.0.1:8000)
- Removed get_gitea_mcp_env() method (no longer needed)
- Updated all import paths throughout codebase
- Updated filtering/filter.py: Changed ValueError to warning when both
enabled_tools and disabled_tools are specified
- Updated test files with new import paths
- Updated test_filtering.py to test warning instead of ValueError
- Updated pyproject.toml, pytest.ini, and README.md references
All modules preserved - only import paths and configuration updated.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>