Commit Graph

3 Commits

Author SHA1 Message Date
cd8718c114 Move tests to repository root and update pytest configuration
- 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>
2026-02-03 18:08:54 -05:00
5075139841 refactor: Rename package to gitea_mcp_remote and update configuration
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>
2026-02-03 17:59:57 -05:00
1c63210f1d 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>
2026-02-03 16:11:39 -05:00