Add testing infrastructure as described in CLAUDE.md.
Tasks
Add pytest, respx, pytest-cov to dev dependencies in pyproject.toml
Create tests/conftest.py with shared fixtures:
mock httpx.Client transport pointing to a fake Gitea URL
config override so tests do not require a real config.json
Create tests/smoke/ and tests/unit/ directory skeletons with __init__.py
Verify uv run pytest runs without errors on an empty test suite
Acceptance criteria
uv run pytest exits 0
uv run pytest --cov=server reports coverage
No real network calls are made during uv run pytest
## Goal
Add testing infrastructure as described in `CLAUDE.md`.
## Tasks
- Add `pytest`, `respx`, `pytest-cov` to dev dependencies in `pyproject.toml`
- Create `tests/conftest.py` with shared fixtures:
- mock `httpx.Client` transport pointing to a fake Gitea URL
- config override so tests do not require a real `config.json`
- Create `tests/smoke/` and `tests/unit/` directory skeletons with `__init__.py`
- Verify `uv run pytest` runs without errors on an empty test suite
## Acceptance criteria
- `uv run pytest` exits 0
- `uv run pytest --cov=server` reports coverage
- No real network calls are made during `uv run pytest`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Add testing infrastructure as described in
CLAUDE.md.Tasks
pytest,respx,pytest-covto dev dependencies inpyproject.tomltests/conftest.pywith shared fixtures:httpx.Clienttransport pointing to a fake Gitea URLconfig.jsontests/smoke/andtests/unit/directory skeletons with__init__.pyuv run pytestruns without errors on an empty test suiteAcceptance criteria
uv run pytestexits 0uv run pytest --cov=serverreports coverageuv run pytest