From 6604ce5338c2ffaff5992d2b69d0430123b36775 Mon Sep 17 00:00:00 2001 From: Jin Seop Kim Date: Wed, 29 Jul 2026 13:58:26 -0400 Subject: [PATCH] feat(bigquery): support us-east7 endpoint overrides in integration tests --- .../testing/RemoteBigQueryHelper.java | 15 +++++-- ...gQueryBigDecimalByteStringEncoderTest.java | 2 +- .../it/ITBigQueryStorageLongRunningTest.java | 2 +- .../it/ITBigQueryStorageReadClientTest.java | 6 +-- .../it/ITBigQueryStorageWriteClientTest.java | 6 ++- .../v1/it/ITBigQueryTimeEncoderTest.java | 2 +- .../it/ITBigQueryWriteNonQuotaRetryTest.java | 2 +- .../v1/it/ITBigQueryWriteQuotaRetryTest.java | 2 +- .../bigquery/storage/v1/it/util/Helper.java | 43 +++++++++++++++++++ 9 files changed, 66 insertions(+), 14 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java index d195dc245ec2..49a3e5e5a482 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java @@ -99,14 +99,17 @@ public static RemoteBigQueryHelper create(String projectId, InputStream keyStrea .setConnectTimeout(CONNECT_TIMEOUT_IN_MS) .setReadTimeout(CONNECT_TIMEOUT_IN_MS) .build(); - BigQueryOptions bigqueryOptions = + BigQueryOptions.Builder builder = BigQueryOptions.newBuilder() .setCredentials(ServiceAccountCredentials.fromStream(keyStream)) .setProjectId(projectId) .setRetrySettings(retrySettings()) - .setTransportOptions(transportOptions) - .build(); - return new RemoteBigQueryHelper(bigqueryOptions); + .setTransportOptions(transportOptions); + String endpoint = System.getenv("BIGQUERY_ENDPOINT"); + if (endpoint != null) { + builder.setHost(endpoint); + } + return new RemoteBigQueryHelper(builder.build()); } catch (IOException ex) { if (log.isLoggable(Level.WARNING)) { log.log(Level.WARNING, ex.getMessage()); @@ -140,6 +143,10 @@ public static RemoteBigQueryHelper create(BigQueryOptions.Builder bigqueryOption bigqueryOptionsBuilder .setRetrySettings(retrySettings()) .setTransportOptions(transportOptions); + String endpoint = System.getenv("BIGQUERY_ENDPOINT"); + if (endpoint != null) { + builder.setHost(endpoint); + } return new RemoteBigQueryHelper(builder.build()); } diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java index 641531bb02b4..dd3ecf890566 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java @@ -65,7 +65,7 @@ class ITBigQueryBigDecimalByteStringEncoderTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java index 01c44caa9b61..9beafe2b5ac2 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java @@ -67,7 +67,7 @@ class ITBigQueryStorageLongRunningTest { static void beforeAll() throws IOException { Assumptions.assumeTrue( Boolean.getBoolean(LONG_TESTS_ENABLED_PROPERTY), LONG_TESTS_DISABLED_MESSAGE); - client = BigQueryReadClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId()); LOG.info( diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java index 98ab9edb5bad..6accfa6bd878 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java @@ -504,7 +504,7 @@ public CompletableResultCode shutdown() { @BeforeAll static void beforeAll() throws IOException, DescriptorValidationException, InterruptedException { - readClient = BigQueryReadClient.create(); + readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); projectName = ServiceOptions.getDefaultProjectId(); parentProjectId = String.format("projects/%s", projectName); @@ -1598,7 +1598,7 @@ void testStructAndArraySqlTypes() throws InterruptedException, IOException { @Test void testSimpleReadWithBackgroundExecutorProvider() throws IOException { BigQueryReadSettings bigQueryReadSettings = - BigQueryReadSettings.newBuilder() + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder() .setBackgroundExecutorProvider( InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(14).build()) .build(); @@ -1761,7 +1761,7 @@ void testSimpleReadWithOtelTracing() throws IOException { OpenTelemetry otel = OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).build(); BigQueryReadSettings otelSettings = - BigQueryReadSettings.newBuilder() + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder() .setEnableOpenTelemetryTracing(true) .setOpenTelemetryTracerProvider(tracerProvider) .build(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java index b7e46be40585..2e80cdb443b6 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java @@ -187,10 +187,12 @@ public StringWithSecondsNanos(String fooParam, long secondsParam, int nanosParam @BeforeAll static void beforeAll() throws IOException { - readClient = BigQueryReadClient.create(); + readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient(); BigQueryWriteSettings settings = - BigQueryWriteSettings.newBuilder().setHeaderProvider(USER_AGENT_HEADER_PROVIDER).build(); + com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteSettingsBuilder() + .setHeaderProvider(USER_AGENT_HEADER_PROVIDER) + .build(); writeClient = BigQueryWriteClient.create(settings); parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId()); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java index b3c84ec40306..ce7f40b3f7eb 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java @@ -63,7 +63,7 @@ class ITBigQueryTimeEncoderTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java index 2d9378341d92..dd7afc465dcb 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java @@ -67,7 +67,7 @@ class ITBigQueryWriteNonQuotaRetryTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java index b4069a7aeea3..1f87ba8ee3be 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java @@ -50,7 +50,7 @@ public class ITBigQueryWriteQuotaRetryTest { @BeforeAll static void beforeAll() throws IOException { - client = BigQueryWriteClient.create(); + client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient(); RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create(); bigquery = bigqueryHelper.getOptions().getService(); diff --git a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java index 1e1b0e2fb0c4..8e66820b6d08 100644 --- a/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java +++ b/java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java @@ -25,6 +25,9 @@ import com.google.cloud.bigquery.storage.v1.AppendRowsResponse; import com.google.cloud.bigquery.storage.v1.AvroSerializationOptions; import com.google.cloud.bigquery.storage.v1.BigQueryReadClient; +import com.google.cloud.bigquery.storage.v1.BigQueryReadSettings; +import com.google.cloud.bigquery.storage.v1.BigQueryWriteClient; +import com.google.cloud.bigquery.storage.v1.BigQueryWriteSettings; import com.google.cloud.bigquery.storage.v1.CreateReadSessionRequest; import com.google.cloud.bigquery.storage.v1.DataFormat; import com.google.cloud.bigquery.storage.v1.ReadRowsRequest; @@ -201,4 +204,44 @@ record -> { }); return rows; } + + /** + * Returns a {@link BigQueryReadSettings.Builder} configured with potential endpoint overrides for + * testing. + */ + public static BigQueryReadSettings.Builder createBigQueryReadSettingsBuilder() { + BigQueryReadSettings.Builder builder = BigQueryReadSettings.newBuilder(); + String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT"); + if (endpoint != null) { + builder.setEndpoint(endpoint); + } + return builder; + } + + /** + * Returns a {@link BigQueryReadClient} configured with potential endpoint overrides for testing. + */ + public static BigQueryReadClient createBigQueryReadClient() throws IOException { + return BigQueryReadClient.create(createBigQueryReadSettingsBuilder().build()); + } + + /** + * Returns a {@link BigQueryWriteSettings.Builder} configured with potential endpoint overrides + * for testing. + */ + public static BigQueryWriteSettings.Builder createBigQueryWriteSettingsBuilder() { + BigQueryWriteSettings.Builder builder = BigQueryWriteSettings.newBuilder(); + String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT"); + if (endpoint != null) { + builder.setEndpoint(endpoint); + } + return builder; + } + + /** + * Returns a {@link BigQueryWriteClient} configured with potential endpoint overrides for testing. + */ + public static BigQueryWriteClient createBigQueryWriteClient() throws IOException { + return BigQueryWriteClient.create(createBigQueryWriteSettingsBuilder().build()); + } }