Skip to content

feat: add acceptance test suite setup#1060

Merged
ferhatelmas merged 1 commit intomasterfrom
ferhat/acceptance-1
Apr 27, 2026
Merged

feat: add acceptance test suite setup#1060
ferhatelmas merged 1 commit intomasterfrom
ferhat/acceptance-1

Conversation

@ferhatelmas
Copy link
Copy Markdown
Member

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.

Copilot AI review requested due to automatic review settings April 27, 2026 15:28
@ferhatelmas ferhatelmas requested a review from a team as a code owner April 27, 2026 15:28
@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch from 6a01943 to 45cf060 Compare April 27, 2026 15:33
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 27, 2026

Coverage Report for CI Build 25008876036

Coverage increased (+0.04%) to 71.647%

Details

  • Coverage increased (+0.04%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 9776
Covered Lines: 7405
Line Coverage: 75.75%
Relevant Branches: 5471
Covered Branches: 3519
Branch Coverage: 64.32%
Branches in Coverage %: Yes
Coverage Strength: 384.17 hits per line

💛 - Coveralls

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread acceptance/support/sigv4.ts Outdated
Comment thread acceptance/support/sigv4.ts Outdated
Comment thread acceptance/scripts/run-managed-local.ts
Comment thread acceptance/specs/s3-wire.test.ts
Comment thread acceptance/specs/rest-object.test.ts
@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch from 45cf060 to 97f9e0f Compare April 27, 2026 15:49
Comment thread package.json
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread acceptance/support/config.ts Outdated
Comment thread acceptance/specs/s3-wire.test.ts Outdated
@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch 2 times, most recently from 03b06c9 to 83f173f Compare April 27, 2026 16:04
@ferhatelmas ferhatelmas requested a review from Copilot April 27, 2026 16:04
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread acceptance/support/config.ts Outdated
Comment thread acceptance/support/config.ts Outdated
Comment thread acceptance/scripts/run.ts
Comment thread acceptance/scripts/run-managed-local.ts
Comment thread acceptance/specs/tus.test.ts Outdated
Comment thread acceptance/specs/tus.test.ts Outdated
@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch 3 times, most recently from 0aa78f7 to 42a2786 Compare April 27, 2026 16:17
@ferhatelmas ferhatelmas requested a review from Copilot April 27, 2026 16:17
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/acceptance.yml
Comment thread acceptance/README.md
Comment thread acceptance/API_COVERAGE.md
Comment thread acceptance/specs/rest-extended.test.ts Outdated
Comment thread acceptance/scripts/run-managed-local.ts Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread acceptance/specs/rest-extended.test.ts Outdated
Comment thread acceptance/support/config.ts Outdated
@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch 2 times, most recently from 790ae7b to 7ffbeee Compare April 27, 2026 16:33
@blacksmith-sh

This comment has been minimized.

@ferhatelmas ferhatelmas force-pushed the ferhat/acceptance-1 branch from 7ffbeee to 5ab7b48 Compare April 27, 2026 16:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread acceptance/specs/tus.test.ts Outdated
Comment thread acceptance/tsconfig.json Outdated
Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/acceptance.yml
@ferhatelmas ferhatelmas merged commit 5da3b67 into master Apr 27, 2026
15 checks passed
@ferhatelmas ferhatelmas deleted the ferhat/acceptance-1 branch April 27, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants