Skip to content

Commit 7f6e7e0

Browse files
authored
feat(bigquery): support us-east7 endpoint overrides in integration tests (#13950)
Exposes BIGQUERY_ENDPOINT and BIGQUERY_STORAGE_ENDPOINT environment variables to override endpoints in integration tests, making it possible to target regional canary endpoints like us-east7. b/472499857
1 parent 1e634ec commit 7f6e7e0

9 files changed

Lines changed: 66 additions & 14 deletions

File tree

java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/testing/RemoteBigQueryHelper.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,17 @@ public static RemoteBigQueryHelper create(String projectId, InputStream keyStrea
9999
.setConnectTimeout(CONNECT_TIMEOUT_IN_MS)
100100
.setReadTimeout(CONNECT_TIMEOUT_IN_MS)
101101
.build();
102-
BigQueryOptions bigqueryOptions =
102+
BigQueryOptions.Builder builder =
103103
BigQueryOptions.newBuilder()
104104
.setCredentials(ServiceAccountCredentials.fromStream(keyStream))
105105
.setProjectId(projectId)
106106
.setRetrySettings(retrySettings())
107-
.setTransportOptions(transportOptions)
108-
.build();
109-
return new RemoteBigQueryHelper(bigqueryOptions);
107+
.setTransportOptions(transportOptions);
108+
String endpoint = System.getenv("BIGQUERY_ENDPOINT");
109+
if (endpoint != null) {
110+
builder.setHost(endpoint);
111+
}
112+
return new RemoteBigQueryHelper(builder.build());
110113
} catch (IOException ex) {
111114
if (log.isLoggable(Level.WARNING)) {
112115
log.log(Level.WARNING, ex.getMessage());
@@ -140,6 +143,10 @@ public static RemoteBigQueryHelper create(BigQueryOptions.Builder bigqueryOption
140143
bigqueryOptionsBuilder
141144
.setRetrySettings(retrySettings())
142145
.setTransportOptions(transportOptions);
146+
String endpoint = System.getenv("BIGQUERY_ENDPOINT");
147+
if (endpoint != null) {
148+
builder.setHost(endpoint);
149+
}
143150
return new RemoteBigQueryHelper(builder.build());
144151
}
145152

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryBigDecimalByteStringEncoderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class ITBigQueryBigDecimalByteStringEncoderTest {
6565

6666
@BeforeAll
6767
static void beforeAll() throws IOException {
68-
client = BigQueryWriteClient.create();
68+
client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient();
6969

7070
RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create();
7171
bigquery = bigqueryHelper.getOptions().getService();

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageLongRunningTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class ITBigQueryStorageLongRunningTest {
6767
static void beforeAll() throws IOException {
6868
Assumptions.assumeTrue(
6969
Boolean.getBoolean(LONG_TESTS_ENABLED_PROPERTY), LONG_TESTS_DISABLED_MESSAGE);
70-
client = BigQueryReadClient.create();
70+
client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient();
7171
parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId());
7272

7373
LOG.info(

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageReadClientTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ public CompletableResultCode shutdown() {
504504

505505
@BeforeAll
506506
static void beforeAll() throws IOException, DescriptorValidationException, InterruptedException {
507-
readClient = BigQueryReadClient.create();
507+
readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient();
508508
projectName = ServiceOptions.getDefaultProjectId();
509509
parentProjectId = String.format("projects/%s", projectName);
510510

@@ -1598,7 +1598,7 @@ void testStructAndArraySqlTypes() throws InterruptedException, IOException {
15981598
@Test
15991599
void testSimpleReadWithBackgroundExecutorProvider() throws IOException {
16001600
BigQueryReadSettings bigQueryReadSettings =
1601-
BigQueryReadSettings.newBuilder()
1601+
com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder()
16021602
.setBackgroundExecutorProvider(
16031603
InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(14).build())
16041604
.build();
@@ -1761,7 +1761,7 @@ void testSimpleReadWithOtelTracing() throws IOException {
17611761
OpenTelemetry otel = OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).build();
17621762

17631763
BigQueryReadSettings otelSettings =
1764-
BigQueryReadSettings.newBuilder()
1764+
com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadSettingsBuilder()
17651765
.setEnableOpenTelemetryTracing(true)
17661766
.setOpenTelemetryTracerProvider(tracerProvider)
17671767
.build();

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryStorageWriteClientTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,12 @@ public StringWithSecondsNanos(String fooParam, long secondsParam, int nanosParam
187187

188188
@BeforeAll
189189
static void beforeAll() throws IOException {
190-
readClient = BigQueryReadClient.create();
190+
readClient = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryReadClient();
191191

192192
BigQueryWriteSettings settings =
193-
BigQueryWriteSettings.newBuilder().setHeaderProvider(USER_AGENT_HEADER_PROVIDER).build();
193+
com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteSettingsBuilder()
194+
.setHeaderProvider(USER_AGENT_HEADER_PROVIDER)
195+
.build();
194196
writeClient = BigQueryWriteClient.create(settings);
195197
parentProjectId = String.format("projects/%s", ServiceOptions.getDefaultProjectId());
196198

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryTimeEncoderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class ITBigQueryTimeEncoderTest {
6363

6464
@BeforeAll
6565
static void beforeAll() throws IOException {
66-
client = BigQueryWriteClient.create();
66+
client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient();
6767

6868
RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create();
6969
bigquery = bigqueryHelper.getOptions().getService();

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteNonQuotaRetryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class ITBigQueryWriteNonQuotaRetryTest {
6767

6868
@BeforeAll
6969
static void beforeAll() throws IOException {
70-
client = BigQueryWriteClient.create();
70+
client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient();
7171

7272
RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create();
7373
bigquery = bigqueryHelper.getOptions().getService();

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/ITBigQueryWriteQuotaRetryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class ITBigQueryWriteQuotaRetryTest {
5050

5151
@BeforeAll
5252
static void beforeAll() throws IOException {
53-
client = BigQueryWriteClient.create();
53+
client = com.google.cloud.bigquery.storage.v1.it.util.Helper.createBigQueryWriteClient();
5454

5555
RemoteBigQueryHelper bigqueryHelper = RemoteBigQueryHelper.create();
5656
bigquery = bigqueryHelper.getOptions().getService();

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/it/util/Helper.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
import com.google.cloud.bigquery.storage.v1.AppendRowsResponse;
2626
import com.google.cloud.bigquery.storage.v1.AvroSerializationOptions;
2727
import com.google.cloud.bigquery.storage.v1.BigQueryReadClient;
28+
import com.google.cloud.bigquery.storage.v1.BigQueryReadSettings;
29+
import com.google.cloud.bigquery.storage.v1.BigQueryWriteClient;
30+
import com.google.cloud.bigquery.storage.v1.BigQueryWriteSettings;
2831
import com.google.cloud.bigquery.storage.v1.CreateReadSessionRequest;
2932
import com.google.cloud.bigquery.storage.v1.DataFormat;
3033
import com.google.cloud.bigquery.storage.v1.ReadRowsRequest;
@@ -201,4 +204,44 @@ record -> {
201204
});
202205
return rows;
203206
}
207+
208+
/**
209+
* Returns a {@link BigQueryReadSettings.Builder} configured with potential endpoint overrides for
210+
* testing.
211+
*/
212+
public static BigQueryReadSettings.Builder createBigQueryReadSettingsBuilder() {
213+
BigQueryReadSettings.Builder builder = BigQueryReadSettings.newBuilder();
214+
String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT");
215+
if (endpoint != null) {
216+
builder.setEndpoint(endpoint);
217+
}
218+
return builder;
219+
}
220+
221+
/**
222+
* Returns a {@link BigQueryReadClient} configured with potential endpoint overrides for testing.
223+
*/
224+
public static BigQueryReadClient createBigQueryReadClient() throws IOException {
225+
return BigQueryReadClient.create(createBigQueryReadSettingsBuilder().build());
226+
}
227+
228+
/**
229+
* Returns a {@link BigQueryWriteSettings.Builder} configured with potential endpoint overrides
230+
* for testing.
231+
*/
232+
public static BigQueryWriteSettings.Builder createBigQueryWriteSettingsBuilder() {
233+
BigQueryWriteSettings.Builder builder = BigQueryWriteSettings.newBuilder();
234+
String endpoint = System.getenv("BIGQUERY_STORAGE_ENDPOINT");
235+
if (endpoint != null) {
236+
builder.setEndpoint(endpoint);
237+
}
238+
return builder;
239+
}
240+
241+
/**
242+
* Returns a {@link BigQueryWriteClient} configured with potential endpoint overrides for testing.
243+
*/
244+
public static BigQueryWriteClient createBigQueryWriteClient() throws IOException {
245+
return BigQueryWriteClient.create(createBigQueryWriteSettingsBuilder().build());
246+
}
204247
}

0 commit comments

Comments
 (0)