Sanitized single-commit public mirror of recipe-maintainer. - Removed test-ssh/.testenv (live creds); added test-ssh/.testenv.example placeholders. - Removed plans/ and planned-updates/ (deployment-planning docs) so no client/ deployment domains appear in the public repo. - All other secret stores were already gitignored. - docs.coopcloud.tech retained as a submodule (public upstream).
44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
---
|
|
description: Run all tests for a Co-op Cloud recipe
|
|
argument-hint: <recipe-name>
|
|
allowed-tools: [Bash, Read, Write, Glob, Grep, WebFetch]
|
|
---
|
|
|
|
# Recipe Test
|
|
|
|
Run all available tests for a Co-op Cloud recipe.
|
|
|
|
The recipe name is: $ARGUMENTS
|
|
|
|
Read and follow the instructions in `.claude/commands/includes/logging.md`.
|
|
Read and follow the instructions in `.claude/commands/includes/guidelines.md`.
|
|
|
|
## Steps
|
|
|
|
1. **Free server resources** by running `/test-context-reset $ARGUMENTS` to undeploy unrelated apps from the test server while keeping this recipe and its dependencies running.
|
|
|
|
2. **Locate the test directory** at `recipe-info/$ARGUMENTS/tests/`.
|
|
- If the directory does not exist, tell the user no tests are configured for this recipe and suggest running `/recipe-check $ARGUMENTS` first (which creates the directory structure).
|
|
- Stop here if no test directory is found.
|
|
|
|
3. **Read the test plan** from `recipe-info/$ARGUMENTS/test.md`.
|
|
- Note the target URL and any manual verification steps listed.
|
|
- Note which automated check scripts are referenced.
|
|
|
|
4. **Discover all test scripts** by globbing `recipe-info/$ARGUMENTS/tests/*.py`.
|
|
|
|
5. **Run each test script** in sequence:
|
|
- Execute each `.py` script with `python3 recipe-info/$ARGUMENTS/tests/<script>`.
|
|
- Capture stdout and stderr.
|
|
- Record whether each script exited 0 (PASS) or non-zero (FAIL).
|
|
|
|
6. **Perform the manual verification checks** listed in `test.md`:
|
|
- For URL-based checks (e.g. "open URL and confirm page loads"), use `curl` or `WebFetch` to verify the endpoint is reachable and returns expected content.
|
|
- Report which manual checks could be verified automatically and which truly require a human.
|
|
|
|
7. **Summarise results**:
|
|
- List each automated script with its PASS/FAIL status and output.
|
|
- List each manual check with its result (verified / needs human / failed).
|
|
- If any tests failed, highlight them clearly and suggest troubleshooting steps.
|
|
- If all tests passed, confirm the recipe deployment looks healthy.
|