feat: add acceptance test suite setup#1060
Conversation
6a01943 to
45cf060
Compare
Coverage Report for CI Build 25008876036Coverage increased (+0.04%) to 71.647%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new black-box acceptance test suite for the Storage service, adding a dedicated Vitest config, test runner scripts, and a set of protocol/feature contract tests that can be run against local or remote targets via environment-driven configuration.
Changes:
- Added an
acceptance/test suite with config, helpers, and multiple acceptance specs (REST, S3, TUS, admin, CDN/render, vector, Iceberg, RLS, wire/SigV4). - Added acceptance runner scripts and CI workflow to run acceptance profiles locally (on PRs) and optionally against remote targets (workflow_dispatch).
- Updated env/config samples and local compose config to support Iceberg-related acceptance coverage.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds npm scripts for running/typechecking acceptance tests. |
| docker-compose.yml | Adds Iceberg warehouse env for local compose target. |
| acceptance/tsconfig.json | Adds a dedicated TS config for acceptance typechecking. |
| acceptance/support/sigv4.ts | Adds a minimal SigV4/aws-chunked request implementation for wire-level S3 tests. |
| acceptance/support/s3.ts | Adds S3 client + cleanup helpers for acceptance runs. |
| acceptance/support/resources.ts | Adds bucket/object naming and REST resource helpers + cleanup utilities. |
| acceptance/support/http.ts | Adds a small HTTP client wrapper with expected-status assertions. |
| acceptance/support/config.ts | Adds acceptance configuration, profile/capability gating, and helpers. |
| acceptance/specs/vector.test.ts | Adds vector API lifecycle contract test (capability gated). |
| acceptance/specs/tus.test.ts | Adds TUS resumable upload contract tests (including signed TUS). |
| acceptance/specs/s3.test.ts | Adds S3 protocol contract tests (basic + extended). |
| acceptance/specs/s3-wire.test.ts | Adds wire-level aws-chunked SigV4 tests (including negative trailer case). |
| acceptance/specs/rls.test.ts | Adds RLS contract test (capability gated). |
| acceptance/specs/rest-object.test.ts | Adds REST bucket/object and path-edge contract tests. |
| acceptance/specs/rest-extended.test.ts | Adds extended REST contract tests (copy/move/sign/bulk delete/list-v1/etc). |
| acceptance/specs/iceberg.test.ts | Adds Iceberg REST catalog contract test (capability gated). |
| acceptance/specs/health.test.ts | Adds health/version checks for REST and admin surfaces. |
| acceptance/specs/cdn-render.test.ts | Adds CDN purge and image render contract tests (capability gated). |
| acceptance/specs/admin-extended.test.ts | Adds extended admin API contract coverage (capability gated). |
| acceptance/scripts/run.ts | Adds runner for executing acceptance Vitest suite against an existing target. |
| acceptance/scripts/run-managed-local.ts | Adds managed local runner that boots infra + server, runs acceptance, then stops server. |
| acceptance/acceptance.vitest.config.ts | Adds dedicated Vitest config for acceptance suite. |
| acceptance/README.md | Documents suite purpose, profiles, configuration, and how to run locally/remotely. |
| acceptance/API_COVERAGE.md | Documents API/feature coverage inventory by profile/capability. |
| .github/workflows/acceptance.yml | Adds CI workflow for local acceptance on PRs and remote acceptance via dispatch. |
| .env.test.sample | Extends local test env sample with Iceberg-related variables. |
| .env.acceptance.sample | Adds sample acceptance runner configuration/credentials. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
45cf060 to
97f9e0f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
03b06c9 to
83f173f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0aa78f7 to
42a2786
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
42a2786 to
9861514
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
790ae7b to
7ffbeee
Compare
This comment has been minimized.
This comment has been minimized.
7ffbeee to
5ab7b48
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
5ab7b48 to
424ac06
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What kind of change does this PR introduce?
feat
What is the current behavior?
No acceptance tests. Integration tests are mock heavy.
What is the new behavior?
Add acceptance test suite setup. It's not fully wired yet but has the basis. It gives more confidence for refactoring.
Additional context
Related to knex drop.