Add Real Object-Store Deletion Smoke Coverage
Priority
P2
Type
testing
Labels
Suggested GitHub labels:
backlog
go
deployment
testing
Branch scope
- Current branch:
develop
- Current HEAD:
a5a29a9645195e149ed0c5d75cbffa5172dd9a7d
- Target branch, if known:
develop
- Reviewed branch/ref, if applicable:
not applicable
- Reviewed commit SHA, if applicable:
not applicable
- Target release/version, if applicable:
not applicable
- Scope classification:
follow-up-after-merge
- Scope note: This draft was generated from the branch above. Revalidate against the target branch before creating or closing public GitHub issues if the branch has moved or has not yet merged.
Summary
Add optional smoke coverage that proves incident deletion removes committed encrypted blobs through a real S3-compatible object-store path while preserving public fail-closed behavior.
Context
The backend implements optional S3-compatible encrypted blob storage and private incident deletion with retryable blob deletion. docs/incident-deletion-retention-enforcement.md lists expanded S3-compatible deletion smoke coverage with real object-store tests as remaining test work. Existing unit tests cover S3 blob-store semantics through a fake client, but a real object-store smoke path can catch integration issues around conditional writes, object lookup, deletion, and bundle fail-closed behavior.
Proposed change
Add an optional local smoke test or script using an existing disposable MinIO/compose fixture or a one-off loopback-only object-store container. The smoke should upload encrypted chunks, verify the object exists, request deletion through the private API, run or wait for deletion processing, verify the object is gone or confirmed absent, and verify public viewer routes fail closed for the deleted incident.
Keep this opt-in and local. Do not require object-store services for the default go test ./... path.
Acceptance criteria
Tests / validation
Out of scope
- Adding new cloud services or provider-specific deployment automation.
- Requiring Docker Compose or MinIO for the default test suite.
- Exposing object keys, bucket URLs, private endpoints, or stored paths in logs or public responses.
- Backend decryption, key custody, or playable media export.
Notes
Relevant docs: docs/incident-deletion-retention-enforcement.md, docs/configuration.md, docs/deployment.md, compose/README.md.
Related completed issues: #94 and #130.
Add Real Object-Store Deletion Smoke Coverage
Priority
P2
Type
testing
Labels
Suggested GitHub labels:
backloggodeploymenttestingBranch scope
developa5a29a9645195e149ed0c5d75cbffa5172dd9a7ddevelopnot applicablenot applicablenot applicablefollow-up-after-mergeSummary
Add optional smoke coverage that proves incident deletion removes committed encrypted blobs through a real S3-compatible object-store path while preserving public fail-closed behavior.
Context
The backend implements optional S3-compatible encrypted blob storage and private incident deletion with retryable blob deletion.
docs/incident-deletion-retention-enforcement.mdlists expanded S3-compatible deletion smoke coverage with real object-store tests as remaining test work. Existing unit tests cover S3 blob-store semantics through a fake client, but a real object-store smoke path can catch integration issues around conditional writes, object lookup, deletion, and bundle fail-closed behavior.Proposed change
Add an optional local smoke test or script using an existing disposable MinIO/compose fixture or a one-off loopback-only object-store container. The smoke should upload encrypted chunks, verify the object exists, request deletion through the private API, run or wait for deletion processing, verify the object is gone or confirmed absent, and verify public viewer routes fail closed for the deleted incident.
Keep this opt-in and local. Do not require object-store services for the default
go test ./...path.Acceptance criteria
Tests / validation
gofmt -w ./cmd ./internal ./migrations, if Go files changego test ./..., if code changesgo vet ./..., if code changes or CI/testing changesOut of scope
Notes
Relevant docs:
docs/incident-deletion-retention-enforcement.md,docs/configuration.md,docs/deployment.md,compose/README.md.Related completed issues:
#94and#130.