test(e2e): add real staging image upload smoke #1790

Merged
hongming merged 1 commits from fix/real-user-upload-staging-e2e into main 2026-05-24 10:20:52 +00:00
Owner

Summary

  • add real staging SaaS image upload/download coverage after workspaces come online
  • mint production-safe workspace tokens through POST /admin/workspaces/:id/tokens instead of development test tokens
  • return actionable JSON for missing X-Molecule-Org-Id while preserving 404 for wrong-org probes
  • remove operator-facing docs references to the development test-token route

Verification

  • go test ./internal/middleware ./internal/router (workspace-server)
  • bash -n tests/e2e/test_staging_full_saas.sh tests/harness/replays/tenant-isolation.sh tests/harness/_curl.sh
  • shellcheck tests/e2e/test_staging_full_saas.sh tests/harness/replays/tenant-isolation.sh tests/harness/_curl.sh
  • bash tests/e2e/test_model_slug.sh
  • python3 .gitea/scripts/lint-workflow-yaml.py --workflow-dir .gitea/workflows
## Summary - add real staging SaaS image upload/download coverage after workspaces come online - mint production-safe workspace tokens through POST /admin/workspaces/:id/tokens instead of development test tokens - return actionable JSON for missing X-Molecule-Org-Id while preserving 404 for wrong-org probes - remove operator-facing docs references to the development test-token route ## Verification - go test ./internal/middleware ./internal/router (workspace-server) - bash -n tests/e2e/test_staging_full_saas.sh tests/harness/replays/tenant-isolation.sh tests/harness/_curl.sh - shellcheck tests/e2e/test_staging_full_saas.sh tests/harness/replays/tenant-isolation.sh tests/harness/_curl.sh - bash tests/e2e/test_model_slug.sh - python3 .gitea/scripts/lint-workflow-yaml.py --workflow-dir .gitea/workflows
hongming added 1 commit 2026-05-24 08:39:22 +00:00
test(e2e): add real staging image upload smoke
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 3s
CI / Python Lint & Test (pull_request) Successful in 9s
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 9s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Has been skipped
E2E Chat / detect-changes (pull_request) Successful in 14s
E2E API Smoke Test / detect-changes (pull_request) Successful in 15s
CI / Detect changes (pull_request) Successful in 15s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been skipped
Handlers Postgres Integration / detect-changes (pull_request) Successful in 4s
Harness Replays / detect-changes (pull_request) Successful in 13s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 22s
Lint no tenant GITEA or GITHUB token write / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 15s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 16s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 7s
qa-review / approved (pull_request) Failing after 11s
security-review / approved (pull_request) Failing after 10s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 35s
gate-check-v3 / gate-check (pull_request) Successful in 13s
sop-checklist / review-refire (pull_request) Has been skipped
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / all-items-acked (pull_request) Successful in 5s
sop-tier-check / tier-check (pull_request) Successful in 5s
CI / Canvas (Next.js) (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Successful in 1m0s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 25s
E2E Chat / E2E Chat (pull_request) Successful in 5s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m10s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 9s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
Harness Replays / Harness Replays (pull_request) Successful in 4s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m30s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 4m11s
CI / all-required (pull_request) Successful in 5m19s
2db69c37ab
app-fe force-pushed fix/real-user-upload-staging-e2e from 2db69c37ab to b8f6b9852d 2026-05-24 08:46:01 +00:00 Compare
core-qa approved these changes 2026-05-24 08:47:12 +00:00
Dismissed
core-qa left a comment
Member

QA approval after focused review: staging SaaS E2E now runs on PR paths that touch the harness/workflow, real image upload/download uses POST /admin/workspaces/:id/tokens, and temp files are trap-cleaned. No blocking QA findings.

QA approval after focused review: staging SaaS E2E now runs on PR paths that touch the harness/workflow, real image upload/download uses POST /admin/workspaces/:id/tokens, and temp files are trap-cleaned. No blocking QA findings.
core-qa approved these changes 2026-05-24 08:48:03 +00:00
Dismissed
core-qa left a comment
Member

QA approval after focused review: staging SaaS E2E now runs on PR paths that touch the harness/workflow, real image upload/download uses POST /admin/workspaces/:id/tokens, and temp files are trap-cleaned. No blocking QA findings.

QA approval after focused review: staging SaaS E2E now runs on PR paths that touch the harness/workflow, real image upload/download uses POST /admin/workspaces/:id/tokens, and temp files are trap-cleaned. No blocking QA findings.
Member

[core-security-agent] APPROVED — Security approval after focused review: missing tenant identity returns actionable 400, wrong tenant identity remains opaque 404, CORS only adds tenant routing headers, and staging E2E uses the AdminAuth-gated real token route without logging token values. No blocking security findings.

[core-security-agent] APPROVED — Security approval after focused review: missing tenant identity returns actionable 400, wrong tenant identity remains opaque 404, CORS only adds tenant routing headers, and staging E2E uses the AdminAuth-gated real token route without logging token values. No blocking security findings.
Author
Owner

/qa-recheck

/qa-recheck
Author
Owner

/security-recheck

/security-recheck
app-fe force-pushed fix/real-user-upload-staging-e2e from b8f6b9852d to 07fadbb24b 2026-05-24 08:58:59 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 08:58:59 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:03:55 +00:00
Dismissed
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 07fadbb24b after focused verification: staging SaaS real image upload/download smoke is on the PR path, local E2E helpers now mint real workspace tokens via POST /admin/workspaces/:id/tokens, the legacy test-token route string is gone from the repo, and review-check regression coverage passes.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 07fadbb24b7b2d186f45cce1afd330b68584603e after focused verification: staging SaaS real image upload/download smoke is on the PR path, local E2E helpers now mint real workspace tokens via POST /admin/workspaces/:id/tokens, the legacy test-token route string is gone from the repo, and review-check regression coverage passes.
Author
Owner

/qa-recheck

/qa-recheck
app-fe force-pushed fix/real-user-upload-staging-e2e from 07fadbb24b to 3a7a8e6935 2026-05-24 09:07:41 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 09:07:41 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:08:23 +00:00
Dismissed
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 3a7a8e6935 after focused verification: CI E2E token handling now uses real create-response workspace tokens first and only mints via POST /admin/workspaces/:id/tokens with an existing admin bearer; staging SaaS image upload/download smoke remains on the PR path; legacy test-token references are absent; local shellcheck/Go/Python checks passed.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 3a7a8e69357d2e04eeea191f5ea5d889446591c5 after focused verification: CI E2E token handling now uses real create-response workspace tokens first and only mints via POST /admin/workspaces/:id/tokens with an existing admin bearer; staging SaaS image upload/download smoke remains on the PR path; legacy test-token references are absent; local shellcheck/Go/Python checks passed.
core-security approved these changes 2026-05-24 09:15:48 +00:00
Dismissed
core-security left a comment
Member

[core-security-agent] APPROVED — Fresh security approval for HEAD 3a7a8e6935: legacy test-token route removed, real admin token mint route remains AdminAuth-gated, missing tenant routing header returns actionable 400 while wrong tenant remains opaque 404, and no token values are intentionally logged.

[core-security-agent] APPROVED — Fresh security approval for HEAD 3a7a8e69357d2e04eeea191f5ea5d889446591c5: legacy test-token route removed, real admin token mint route remains AdminAuth-gated, missing tenant routing header returns actionable 400 while wrong tenant remains opaque 404, and no token values are intentionally logged.
Author
Owner

/security-recheck

/security-recheck
app-fe force-pushed fix/real-user-upload-staging-e2e from 3a7a8e6935 to a4cc285dfd 2026-05-24 09:17:45 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 09:17:46 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

app-fe dismissed core-security's review 2026-05-24 09:17:46 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:18:31 +00:00
Dismissed
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD a4cc285dfd: shared token extractor now supports create-response connection.auth_token, local parser/shellcheck/Go/Python checks pass, staging real image upload smoke remains on PR path, and legacy test-token references are absent.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD a4cc285dfdab09b943171c75267f37d8cb9f61f3: shared token extractor now supports create-response connection.auth_token, local parser/shellcheck/Go/Python checks pass, staging real image upload smoke remains on PR path, and legacy test-token references are absent.
core-security approved these changes 2026-05-24 09:18:33 +00:00
Dismissed
core-security left a comment
Member

[core-security-agent] APPROVED — Fresh security approval for HEAD a4cc285dfd: legacy test-token route removed, real admin token mint route remains AdminAuth-gated, tenant missing-header diagnostics preserve wrong-tenant 404 opacity, and no token values are intentionally logged.

[core-security-agent] APPROVED — Fresh security approval for HEAD a4cc285dfdab09b943171c75267f37d8cb9f61f3: legacy test-token route removed, real admin token mint route remains AdminAuth-gated, tenant missing-header diagnostics preserve wrong-tenant 404 opacity, and no token values are intentionally logged.
app-fe force-pushed fix/real-user-upload-staging-e2e from a4cc285dfd to 6700b5e1cd 2026-05-24 09:31:00 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 09:31:00 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

app-fe dismissed core-security's review 2026-05-24 09:31:00 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:31:11 +00:00
Dismissed
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 6700b5e1cd: staging image smoke now uses the real create-response workspace token and still exercises upload/download bytes; local shellcheck/parser checks pass; legacy test-token references are absent.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 6700b5e1cd8f11b3914aeb7b3715b021efccdad6: staging image smoke now uses the real create-response workspace token and still exercises upload/download bytes; local shellcheck/parser checks pass; legacy test-token references are absent.
core-security approved these changes 2026-05-24 09:31:17 +00:00
Dismissed
core-security left a comment
Member

[core-security-agent] APPROVED — Fresh security approval for HEAD 6700b5e1cd: no legacy test-token route, real tokens are one-time create-response or AdminAuth-gated mint, tenant missing-header diagnostics preserve wrong-tenant 404 opacity, and no token values are intentionally logged.

[core-security-agent] APPROVED — Fresh security approval for HEAD 6700b5e1cd8f11b3914aeb7b3715b021efccdad6: no legacy test-token route, real tokens are one-time create-response or AdminAuth-gated mint, tenant missing-header diagnostics preserve wrong-tenant 404 opacity, and no token values are intentionally logged.
app-fe force-pushed fix/real-user-upload-staging-e2e from 6700b5e1cd to 6402f0e560 2026-05-24 09:42:26 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 09:42:26 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

app-fe dismissed core-security's review 2026-05-24 09:42:26 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:42:37 +00:00
Dismissed
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 6402f0e560: staging image smoke now uses tenant admin/session auth on the real upload/download API path; local bash syntax, shellcheck, diff whitespace, and legacy test-token reference checks pass.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD 6402f0e560017d37942c8f7646e617e3d9528520: staging image smoke now uses tenant admin/session auth on the real upload/download API path; local bash syntax, shellcheck, diff whitespace, and legacy test-token reference checks pass.
core-security approved these changes 2026-05-24 09:42:38 +00:00
Dismissed
core-security left a comment
Member

[core-security-agent] APPROVED — Fresh security approval for HEAD 6402f0e560: no legacy test-token route remains, staging upload uses tenant admin bearer accepted by WorkspaceAuth, missing tenant header diagnostics are explicit while wrong-tenant requests remain non-enumerating 404s, and token values are not intentionally logged.

[core-security-agent] APPROVED — Fresh security approval for HEAD 6402f0e560017d37942c8f7646e617e3d9528520: no legacy test-token route remains, staging upload uses tenant admin bearer accepted by WorkspaceAuth, missing tenant header diagnostics are explicit while wrong-tenant requests remain non-enumerating 404s, and token values are not intentionally logged.
app-fe force-pushed fix/real-user-upload-staging-e2e from 6402f0e560 to e69bc3c0a2 2026-05-24 09:58:26 +00:00 Compare
app-fe dismissed core-qa's review 2026-05-24 09:58:26 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

app-fe dismissed core-security's review 2026-05-24 09:58:26 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

core-qa approved these changes 2026-05-24 09:58:35 +00:00
core-qa left a comment
Member

[core-qa-agent] APPROVED — Fresh QA approval for HEAD e69bc3c0a2: fixes verified for staging image download URL encoding and local notify E2E now uses external workspace one-time connection auth, not test-token; syntax, shellcheck, diff whitespace, token extraction, URL encoding, and legacy test-token grep checks pass.

[core-qa-agent] APPROVED — Fresh QA approval for HEAD e69bc3c0a28c85bd92c7e9cbfc5f34173899c114: fixes verified for staging image download URL encoding and local notify E2E now uses external workspace one-time connection auth, not test-token; syntax, shellcheck, diff whitespace, token extraction, URL encoding, and legacy test-token grep checks pass.
core-security approved these changes 2026-05-24 09:58:36 +00:00
core-security left a comment
Member

[core-security-agent] APPROVED — Fresh security approval for HEAD e69bc3c0a2: no legacy test-token route remains; staging uses tenant admin/session auth on real upload/download APIs; notify E2E uses real external workspace token returned once on create; missing tenant header diagnostics remain explicit without changing wrong-tenant non-enumeration behavior.

[core-security-agent] APPROVED — Fresh security approval for HEAD e69bc3c0a28c85bd92c7e9cbfc5f34173899c114: no legacy test-token route remains; staging uses tenant admin/session auth on real upload/download APIs; notify E2E uses real external workspace token returned once on create; missing tenant header diagnostics remain explicit without changing wrong-tenant non-enumeration behavior.
hongming merged commit a094460580 into main 2026-05-24 10:20:52 +00:00
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#1790