Files
honey-biscuit-workshop/workshop-baker/tests/integration/README.md
T
Catty Steve 9174c4dd2a feat: rename to workshop-baker and implement stage-based prebake
workflow

- Rename crate/library/binary from workshop-executor to workshop-baker
- Remove unused modules (decorator, parser, schedule, variable) from lib
- Implement stage-based privilege dropping with prebake_drop_privilege()
- Add dry-run support in executor and CLI
- Add bootstrap.sh template script for user/workspace setup
- Add PrebakeStage::from_str() and Default impl
- Add get_drop_after() function for security config
- Fix version matching to handle "1.0" format variants
- Fix UPM all_managers() to return custom::Custom
- Add Python integration tests with Docker
- Simplify examples/prebake.yml to match template
2026-03-31 20:54:48 +08:00

1.4 KiB

Integration Tests

This directory contains integration tests for the workshop-baker prebake workflow.

Requirements

  • Python 3.10+
  • Docker
  • pytest

Setup

Install Python dependencies:

pip install -r requirements.txt

Running Tests

Run all integration tests

pytest tests/integration/test_prebake.py -v

Run specific test class

# Run only Docker container tests
pytest tests/integration/test_prebake.py::TestPrebakeIntegration -v

# Run only configuration validation tests
pytest tests/integration/test_prebake.py::TestPrebakeConfigValidation -v

Run specific test

pytest tests/integration/test_prebake.py::TestPrebakeIntegration::test_project_compiles -v

Skip Docker tests (for local development)

pytest tests/integration/test_prebake.py::TestPrebakeConfigValidation -v
pytest tests/integration/test_prebake.py::TestPrebakeExamples -v

Test Structure

  • test_prebake.py::TestPrebakeIntegration - Docker-based integration tests
  • test_prebake.py::TestPrebakeConfigValidation - YAML configuration validation tests
  • test_prebake.py::TestPrebakeExamples - Example files validation tests

Notes

  • Integration tests require Docker to be running
  • Tests use archlinux:latest Docker image
  • Tests mount the project directory into the container
  • Some tests may take longer due to Rust compilation