Skip to content

Test quality improvements#2

Draft
streaky wants to merge 8 commits into
mainfrom
test-quality
Draft

Test quality improvements#2
streaky wants to merge 8 commits into
mainfrom
test-quality

Conversation

@streaky

@streaky streaky commented Jul 5, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive integration test harness for the ACME API, enabling end-to-end testing against a real Pebble ACME server. It also includes several improvements to configuration, documentation, and testing practices.

Integration test harness and related infrastructure:

  • Added a Docker Compose-based integration harness (docker-compose.harness.yaml) to spin up a Pebble ACME server, challenge server, and test instance of the API for end-to-end testing.
  • Implemented a Python script (tests/integration/pebble_harness/run_harness.py) to orchestrate the harness lifecycle: setup, health check, test execution, and teardown.
  • Added configuration files for the harness, including acme.api.test-config.yaml for the API and pebble-config.json for Pebble, to support isolated integration tests. [1] [2]

Testing and Makefile enhancements:

  • Added a test-harness target to the Makefile to automate running the integration harness, and updated .PHONY targets accordingly. [1] [2]
  • Moved and fixed the unit test Alembic migration test path for better test organization.

Configuration and documentation improvements:

  • Changed check_interval_hours in RenewalConfig to a float and allowed values greater than zero for more flexible renewal scheduling.
  • Updated documentation to clarify that linter warnings should not be silenced without strong justification and must be commented if so.
  • Expanded the security warning in README.md to emphasize that the service is experimental and should only be used with strict access controls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant