Skip to content

test(smoke): regression for HEAD on cacheable-extension keys#97

Merged
alukach merged 1 commit into
mainfrom
test/head-cacheable-extension-smoke
Jun 27, 2026
Merged

test(smoke): regression for HEAD on cacheable-extension keys#97
alukach merged 1 commit into
mainfrom
test/head-cacheable-extension-smoke

Conversation

@alukach

@alukach alukach commented Jun 27, 2026

Copy link
Copy Markdown
Member

What

Adds a smoke-suite regression test for the Cloudflare HEAD cache-rewrite bug fixed in #95.

Why the smoke suite (not integration)

The bug is a Cloudflare edge behavior: for a URL whose extension is in CF's cacheable static-asset set (.tif, .dmg, .zip, …), the edge rewrites the Worker's outbound HEAD into a GET. Because the proxy forwards reads via a presigned URL signed for the original method, that rewritten GET fails SigV4 and S3 returns 403 SignatureDoesNotMatch. The integration suite runs against MinIO, which has no edge cache, so it cannot reproduce this — only the smoke suite (deployed preview = real Cloudflare + real S3) can.

The test

TestHeadOnCacheableExtension PUTs a .tif object to the writable real-S3 bucket and asserts HEAD returns 200 (before #95 this returned 403). Mirrors the existing TestMultipartUpload checksum regression: gated on SMOKE_WRITE_BUCKET, uses the actions_credentials role, cleans up after itself.

🤖 Generated with Claude Code

Guards the Cloudflare HEAD->GET cache-rewrite bug fixed in #95: for a key whose
extension is in CF's cacheable static-asset set (.tif/.dmg/.zip/...), the edge
rewrote the Worker's outbound HEAD into a GET, which failed SigV4 against the
HEAD-signed presigned URL (403 SignatureDoesNotMatch).

PUTs a `.tif` object to the writable real-S3 bucket and asserts HEAD returns
200. Only reproduces against the real Cloudflare edge, so it lives in the smoke
suite (MinIO has no edge cache); gated on SMOKE_WRITE_BUCKET like the
multipart-checksum regression.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚀 Latest commit deployed to https://multistore-proxy-pr-97.development-seed.workers.dev

  • Date: 2026-06-27T05:39:29Z
  • Commit: baeca25

@alukach alukach merged commit b28614b into main Jun 27, 2026
12 checks passed
@alukach alukach deleted the test/head-cacheable-extension-smoke branch June 27, 2026 05:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant