Files
recipe-maintainer/.claude/commands/recipe-test.md
T
autonomic-bot f283a371bb recipe-maintainer: public snapshot (secrets + deployment plans removed, single commit)
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).
2026-06-16 20:18:24 +00:00

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.