docs: Update documentation for auto-update system and integration tests

This commit is contained in:
claudi 2026-01-30 08:43:52 +01:00
parent f701247fab
commit c1133ae8e9
9 changed files with 105 additions and 57 deletions

View file

@ -19,6 +19,7 @@ WebDrop Bridge is a professional Qt-based desktop application that converts web-
| `src/webdrop_bridge/config.py` | Configuration management |
| `src/webdrop_bridge/core/validator.py` | Path validation and security |
| `src/webdrop_bridge/core/drag_interceptor.py` | Drag-and-drop handling |
| `src/webdrop_bridge/core/updater.py` | Update check and release management |
| `src/webdrop_bridge/ui/main_window.py` | Main Qt window |
| `tests/` | Pytest-based test suite |
| `pyproject.toml` | Modern Python packaging |
@ -36,11 +37,11 @@ WebDrop Bridge is a professional Qt-based desktop application that converts web-
```python
def validate_path(path: Path, allowed_roots: List[Path]) -> bool:
"""Validate path against allowed roots.
Args:
path: File path to validate
allowed_roots: List of allowed root directories
Returns:
True if path is valid, False otherwise
"""
@ -102,6 +103,12 @@ bash build/scripts/build_macos.sh # macOS
- `LocalContentCanAccessFileUrls`: True (required for drag)
- `LocalContentCanAccessRemoteUrls`: False (prevent phishing)
### Update Flow
- UpdateManager checks for new releases via Forgejo API.
- Caching is used to avoid redundant network calls.
- Only newer versions trigger update signals.
- Release notes and assets are parsed and preserved.
### Cross-Platform
- Use PySide6 APIs that work on both Windows and macOS
- Test on both platforms when possible
@ -114,9 +121,10 @@ bash build/scripts/build_macos.sh # macOS
tests/unit/test_validator.py
tests/unit/test_drag_interceptor.py
# Integration tests: Component interaction
# Integration tests: Component interaction and update flow
tests/integration/test_drag_workflow.py
tests/integration/test_end_to_end.py
tests/integration/test_update_flow.py
# Fixtures: Reusable test data
tests/conftest.py
@ -136,6 +144,7 @@ Target: 80%+ code coverage
- **Public APIs**: Docstrings required
- **Modules**: Add docstring at top of file
- **Features**: Update README.md and docs/
- **Integration tests**: Reference and document in README.md and docs/ARCHITECTURE.md
- **Breaking changes**: Update DEVELOPMENT_PLAN.md
## Git Workflow