test(transcode): pin transcode_import's contract and empty-tree run
Covers the job's surface: that it is registered, declares the metadata the admin panel switches on (`mutates: always`, recoverable, a repair description), and that a run against a drained tree completes cleanly with zeroed counters. It deliberately does NOT cover the re-keying, which is the part that matters most. That needs `.transcoded/webp/` entries on disk before the run, and nothing reachable over HTTP can create them — since the write path moved to the derived tier, only hash-less callers still write there, and hurl cannot place files in the server's storage directory. The migration is validated by a snapshot restore instead, the way the thumbnail one was; the file says so rather than implying coverage it does not have. The empty-tree assertions still earn their place. A drained tree is what every run after the first sees, so it is the overwhelming majority of this job's lifetime, and "does nothing, quietly" is a real property: the thumbnail teardown warned `could not be removed / No such file or directory` on every boot after its migration finished — warning about success forever — and that was caught by eye, not by a test. Counters are asserted as exact zeros, since finding work in a directory the API cannot populate is the shape a re-keying bug would take. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -170,6 +170,7 @@ hurl --variables-file "$API_DIR/test.env" --file-root "$REPO_ROOT/tests" --test
|
||||
"$API_DIR/thumbnail_etag_content_keyed.hurl" \
|
||||
"$API_DIR/attached_thumbnail_copy.hurl" \
|
||||
"$API_DIR/transcode_cache.hurl" \
|
||||
"$API_DIR/transcode_import.hurl" \
|
||||
"$API_DIR/dedup_admin_gate.hurl" \
|
||||
"$API_DIR/admin_jobs.hurl" \
|
||||
"$API_DIR/recoverable_jobs.hurl" \
|
||||
|
||||
Reference in New Issue
Block a user