test: add integration tests for all modules
Some checks failed
Continuous Integration / Build Package (push) Successful in 34s
Continuous Integration / Lint, Check & Test (push) Failing after 48s

- Add pytest-asyncio dev dependency and configure asyncio_mode=auto
- Add filterwarnings to suppress third-party PydanticDeprecatedSince20
- Add conftest.py with shared fixtures (project_dir, write_config, etc.)
- Add test_config.py: YAML loading, target type inference, model resolution
- Add test_graph.py: DAG construction, cycle detection, build ordering
- Add test_state.py: hash functions, state persistence, dirty checking
- Add test_builder.py: full build pipeline with FakeProvider, incremental
  builds, selective builds, error isolation, dependency cascading
- Add test_providers.py: ImageProvider and TextProvider with mocked clients
- Add test_cli.py: build/clean/graph commands via typer CliRunner
- All 94 tests pass with 0 basedpyright warnings
This commit is contained in:
Konstantin Fickel 2026-02-14 11:07:36 +01:00
parent 452b3c4eb0
commit eef9712924
Signed by: kfickel
GPG key ID: A793722F9933C1A5
10 changed files with 1662 additions and 0 deletions

View file

@ -20,9 +20,16 @@ bulkgen = "bulkgen.cli:app"
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
asyncio_mode = "auto"
filterwarnings = [
"ignore::pydantic.warnings.PydanticDeprecatedSince20",
]
[dependency-groups]
dev = [
"basedpyright>=1.38.0",
"pytest>=9.0.2",
"pytest-asyncio>=0.25.0",
"ruff>=0.15.1",
]