Skip to content

Add Floci GCS filesystem tests#29970

Merged
electrum merged 1 commit into
masterfrom
user/electrum/floci-gcs-filesystem-tests-rebased
Jun 22, 2026
Merged

Add Floci GCS filesystem tests#29970
electrum merged 1 commit into
masterfrom
user/electrum/floci-gcs-filesystem-tests-rebased

Conversation

@electrum

Copy link
Copy Markdown
Member

Description

Adds Floci-backed GCS filesystem tests, including coverage for encrypted operations and pre-signed URIs.

Release notes

(x) This is not user-visible or is docs only, and no release notes are required.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds Floci (floci-gcp) container-backed tests for the GCS filesystem implementation, including exercising pre-signed URIs and server-side encryption with customer-provided keys, and updates the GCS filesystem to generate pre-signed URLs that respect a configured custom endpoint (needed for emulators).

Changes:

  • Introduce a FlociGcp Testcontainers wrapper and new TestGcsFileSystemFloci* test suites (plain + encryption).
  • Add TestingSigningCredentials for signing pre-signed URLs in tests without relying on real GCP credentials.
  • Plumb gcs.endpoint into GcsFileSystem and use it when generating V4 signed URLs; refactor GCS test initialization to accept custom config/auth; add needed test dependencies.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
testing/trino-testing-containers/src/main/java/io/trino/testing/containers/FlociGcp.java Adds a Testcontainers wrapper for the floci-gcp emulator.
lib/trino-filesystem-gcs/src/test/java/io/trino/filesystem/gcs/TestingSigningCredentials.java Adds test-only credentials implementing ServiceAccountSigner for signed URL generation.
lib/trino-filesystem-gcs/src/test/java/io/trino/filesystem/gcs/TestGcsFileSystemFlociWithEncryption.java Adds encryption variant of the Floci-backed GCS filesystem test suite.
lib/trino-filesystem-gcs/src/test/java/io/trino/filesystem/gcs/TestGcsFileSystemFloci.java Adds Floci-backed GCS filesystem tests using a container endpoint and signing creds.
lib/trino-filesystem-gcs/src/test/java/io/trino/filesystem/gcs/AbstractTestGcsFileSystem.java Refactors initialization to allow passing a custom config and auth implementation.
lib/trino-filesystem-gcs/src/main/java/io/trino/filesystem/gcs/GcsFileSystemFactory.java Passes configured endpoint into GcsFileSystem instances.
lib/trino-filesystem-gcs/src/main/java/io/trino/filesystem/gcs/GcsFileSystem.java Uses configured endpoint hostname when generating pre-signed URLs.
lib/trino-filesystem-gcs/pom.xml Adds Testcontainers JUnit Jupiter and testing-containers module as test dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@electrum electrum added this pull request to the merge queue Jun 22, 2026
Merged via the queue into master with commit 09472ab Jun 22, 2026
107 checks passed
@electrum electrum deleted the user/electrum/floci-gcs-filesystem-tests-rebased branch June 22, 2026 18:55
@github-actions github-actions Bot added this to the 482 milestone Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants