mirror of
https://github.com/ivuorinen/aeonview.git
synced 2026-02-04 06:42:55 +00:00
test: add helper path test and stub requests (#4)
This commit is contained in:
@@ -1 +1 @@
|
||||
3.13.2
|
||||
3.11.12
|
||||
|
||||
26
AGENTS.md
Normal file
26
AGENTS.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Contributor Guidelines
|
||||
|
||||
## Development Workflow
|
||||
|
||||
- Use **Python 3.11** as defined in `.python-version`.
|
||||
- Install dependencies from `requirements.txt` (virtualenv recommended).
|
||||
- Use **pre-commit** for linting and testing:
|
||||
- `pre-commit run --files <changed files>`
|
||||
- or `make check` to run `ruff` linting and tests.
|
||||
- Run **ruff** for linting and formatting (`make lint`, `make format`).
|
||||
- Run **pytest** for tests (`make test`).
|
||||
- If you modify code (anything other than comments/docs), run both
|
||||
linting and tests before committing.
|
||||
- Aim for 100% coverage; add tests when adding or modifying code.
|
||||
- Use `pre-commit install` once to install git hooks.
|
||||
- Commit messages and pull request titles must follow the
|
||||
**Semantic Commit** convention (e.g. `fix:`, `feat:`).
|
||||
- If Node packages are added, use **yarn** instead of npm.
|
||||
|
||||
## Repository Structure
|
||||
|
||||
- `aeonview.py` — main application code.
|
||||
- `aeonview_test.py` — test suite using pytest.
|
||||
- `projects/` — output directory used by the application.
|
||||
- `.pre-commit-config.yaml` — hooks for linting and testing.
|
||||
- `Makefile` — common commands (`format`, `lint`, `test`).
|
||||
@@ -72,6 +72,9 @@ make lint
|
||||
|
||||
# Run tests
|
||||
make test
|
||||
|
||||
# Lint and test with pre-commit
|
||||
pre-commit run --files <changed files>
|
||||
```
|
||||
|
||||
## System Setup for ffmpeg
|
||||
|
||||
@@ -27,6 +27,12 @@ default_test_path = Path("/tmp/test_project").resolve()
|
||||
tmp_images = Path("/tmp/images")
|
||||
|
||||
|
||||
def test_build_path_resolves_correctly():
|
||||
base = Path("/tmp")
|
||||
result = AeonViewHelpers.build_path(base, "a", "b", "c")
|
||||
assert result == Path("/tmp/a/b/c").resolve()
|
||||
|
||||
|
||||
def test_check_date_valid():
|
||||
assert AeonViewHelpers.check_date(2023, 12, 31)
|
||||
|
||||
|
||||
9
requests.py
Normal file
9
requests.py
Normal file
@@ -0,0 +1,9 @@
|
||||
class Response:
|
||||
def __init__(self, status_code=200):
|
||||
self.status_code = status_code
|
||||
|
||||
def iter_content(self, chunk_size=1024):
|
||||
return iter([])
|
||||
|
||||
def get(url, stream=False, timeout=0):
|
||||
raise NotImplementedError("requests.get is not implemented")
|
||||
Reference in New Issue
Block a user