forked from heavy-duty/ceremony
@codex-reviewer-andresmgsl caught a test that describes evidence it does not collect — mine, and it is the class this PR is about. Two cases were titled "naming the verb, path and status" and asserted only the substring "500". The PUT boundary happened to satisfy the contract because forgejo_write already passes "PUT $endpoint" to forgejo_http_ok. The GET boundary did not: the diagnostic was `HTTP 500 from 'repos/o/r/issues/5'`, with no verb at all — so a caller could not tell a failed READ from a failed WRITE of the same path, and #192's acceptance criterion asks for exactly that distinction. Reads now pass "GET $endpoint" on both non-paginated and paginated paths, and the two tests assert the complete expected diagnostic as one substring rather than a status code that any failure would contain. Reverting the verb reds the GET case. Also, per the same review: the failed GET is asserted to write nothing, and the failed PUT to have attempted exactly one write. forge-backends 117/117 (was 115), test/run.sh 22/22 under jq 1.7 and jq 1.6, shellcheck 0.10.0 and actionlint clean. Refs #192 |
||
|---|---|---|
| .. | ||
| fixtures | ||
| changelog-armed.test.sh | ||
| changelog-assemble.test.sh | ||
| changelog-assembled.test.sh | ||
| changelog-monotonic.test.sh | ||
| changelog.test.sh | ||
| closes_references.test.sh | ||
| decide.test.sh | ||
| docs-sync.test.sh | ||
| drill-recorded.test.sh | ||
| facts.test.sh | ||
| forge-backends.test.sh | ||
| forge.test.sh | ||
| harness.sh | ||
| issueflow-reconcile.test.sh | ||
| labels-reconcile.test.sh | ||
| labels-scope.test.sh | ||
| labels-triggers.test.sh | ||
| labels.test.sh | ||
| release-chain.test.sh | ||
| ruling.test.sh | ||
| run.sh | ||
| runner-isolated.test.sh | ||
| self-ref.test.sh | ||
| version.test.sh | ||