From 00fb9803be9d3b59b0f03d1297ec8b74f9b298f7 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 14:55:40 -0400 Subject: [PATCH 1/6] chore: add unit tests for HttpBigQueryRpc --- java-bigquery/google-cloud-bigquery/pom.xml | 5 + .../bigquery/spi/v2/HttpBigQueryRpcTest.java | 1025 +++++++++++++++++ 2 files changed, 1030 insertions(+) diff --git a/java-bigquery/google-cloud-bigquery/pom.xml b/java-bigquery/google-cloud-bigquery/pom.xml index 1dea6a396db7..5d6243e638bc 100644 --- a/java-bigquery/google-cloud-bigquery/pom.xml +++ b/java-bigquery/google-cloud-bigquery/pom.xml @@ -216,6 +216,11 @@ opentelemetry-sdk-trace test + + io.opentelemetry + opentelemetry-sdk-testing + test + diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index 3968cd05e22f..0adee1f9a067 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -16,14 +16,134 @@ package com.google.cloud.bigquery.spi.v2; import static com.google.common.truth.Truth.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import com.google.api.client.http.HttpTransport; +import com.google.api.client.http.LowLevelHttpRequest; +import com.google.api.client.http.LowLevelHttpResponse; +import com.google.api.client.json.Json; +import com.google.api.client.testing.http.MockHttpTransport; +import com.google.api.client.testing.http.MockLowLevelHttpRequest; +import com.google.api.client.testing.http.MockLowLevelHttpResponse; import com.google.api.services.bigquery.model.Dataset; import com.google.api.services.bigquery.model.DatasetList; import com.google.api.services.bigquery.model.DatasetReference; +import com.google.api.services.bigquery.model.Job; +import com.google.api.services.bigquery.model.JobReference; +import com.google.api.services.bigquery.model.Model; +import com.google.api.services.bigquery.model.ModelReference; +import com.google.api.services.bigquery.model.Policy; +import com.google.api.services.bigquery.model.QueryRequest; +import com.google.api.services.bigquery.model.Routine; +import com.google.api.services.bigquery.model.RoutineReference; +import com.google.api.services.bigquery.model.Table; +import com.google.api.services.bigquery.model.TableDataInsertAllRequest; +import com.google.api.services.bigquery.model.TableReference; +import com.google.cloud.NoCredentials; +import com.google.cloud.bigquery.BigQueryOptions; +import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.api.trace.Tracer; +import io.opentelemetry.sdk.OpenTelemetrySdk; +import io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter; +import io.opentelemetry.sdk.trace.SdkTracerProvider; +import io.opentelemetry.sdk.trace.data.SpanData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; public class HttpBigQueryRpcTest { + + private InMemorySpanExporter spanExporter; + private MockLowLevelHttpResponse mockResponse; + private String lastRequestMethod; + private String lastRequestUrl; + private MockLowLevelHttpRequest lastRequest; + private Tracer tracer; + private HttpTransport mockTransport; + + @BeforeEach + public void setUp() { + spanExporter = InMemorySpanExporter.create(); + SdkTracerProvider tracerProvider = + SdkTracerProvider.builder() + .addSpanProcessor(SimpleSpanProcessor.create(spanExporter)) + .build(); + OpenTelemetrySdk openTelemetry = + OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).build(); + tracer = openTelemetry.getTracer("test-tracer"); + + mockResponse = new MockLowLevelHttpResponse(); + mockTransport = + new MockHttpTransport() { + @Override + public LowLevelHttpRequest buildRequest(String method, String url) { + lastRequestMethod = method; + lastRequestUrl = url; + lastRequest = + new MockLowLevelHttpRequest() { + @Override + public LowLevelHttpResponse execute() { + return mockResponse; + } + }; + return lastRequest; + } + }; + } + + private HttpBigQueryRpc createRpc(boolean enableTracing) { + BigQueryOptions options = + BigQueryOptions.newBuilder() + .setProjectId("test-project") + .setCredentials(NoCredentials.getInstance()) + .setEnableOpenTelemetryTracing(enableTracing) + .setOpenTelemetryTracer(tracer) + .setTransportOptions( + BigQueryOptions.getDefaultHttpTransportOptions().toBuilder() + .setHttpTransportFactory(() -> mockTransport) + .build()) + .build(); + return new HttpBigQueryRpc(options); + } + + private void setMockResponse(String content) { + mockResponse.setStatusCode(200); + mockResponse.setContentType(Json.MEDIA_TYPE); + mockResponse.setContent(content); + } + + private void verifySpan(String spanName, String service, String method) { + List spans = spanExporter.getFinishedSpanItems(); + assertThat(spans).isNotEmpty(); + SpanData rpcSpan = + spans.stream().filter(span -> span.getName().equals(spanName)).findFirst().orElse(null); + assertNotNull(rpcSpan); + assertEquals( + service, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.service"))); + assertEquals(method, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.method"))); + assertEquals("http", rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.system"))); + } + + private void verifyNoSpans() { + assertThat(spanExporter.getFinishedSpanItems()).isEmpty(); + } + + private void verifyRequest(String expectedMethod, String expectedUrlPart) { + assertNotNull(lastRequestMethod); + assertNotNull(lastRequestUrl); + assertEquals(expectedMethod, lastRequestMethod); + assertTrue( + lastRequestUrl.contains(expectedUrlPart), + "Expected URL to contain " + expectedUrlPart + " but was " + lastRequestUrl); + } + @Test public void testListToDataset() { DatasetReference datasetRef = @@ -46,4 +166,909 @@ public void testListToDataset() { assertThat(dataset.getLabels()).containsExactly("foo", "bar"); assertThat(dataset.getLocation()).isEqualTo("test-region-1"); } + + @Nested + class TelemetryEnabled { + private HttpBigQueryRpc rpc; + + @BeforeEach + public void setUp() { + rpc = createRpc(true); + } + + @Test + public void testGetDataset() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); + + rpc.getDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getDataset", "DatasetService", "GetDataset"); + } + + @Test + public void testListDatasets() throws Exception { + setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); + + rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listDatasets", "DatasetService", "ListDatasets"); + } + + @Test + public void testCreateDataset() throws Exception { + setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + + Dataset dataset = new Dataset(); + dataset.setDatasetReference( + new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + rpc.createSkipExceptionTranslation(dataset, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.createDataset", "DatasetService", "InsertDataset"); + } + + @Test + public void testDeleteDataset() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.deleteDataset", "DatasetService", "DeleteDataset"); + } + + @Test + public void testPatchDataset() throws Exception { + setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + + Dataset dataset = new Dataset(); + dataset.setDatasetReference( + new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + rpc.patchSkipExceptionTranslation(dataset, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.patchDataset", "DatasetService", "PatchDataset"); + } + + @Test + public void testGetTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + rpc.getTableSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.getTable", "TableService", "GetTable"); + } + + @Test + public void testListTables() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); + + rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.listTables", "TableService", "ListTables"); + } + + @Test + public void testCreateTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + Table table = new Table(); + table.setTableReference( + new TableReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setTableId("test-table")); + rpc.createSkipExceptionTranslation(table, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets/test-dataset/tables"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.createTable", "TableService", "InsertTable"); + } + + @Test + public void testDeleteTable() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteTableSkipExceptionTranslation("test-project", "test-dataset", "test-table"); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.deleteTable", "TableService", "DeleteTable"); + } + + @Test + public void testPatchTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + Table table = new Table(); + table.setTableReference( + new TableReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setTableId("test-table")); + rpc.patchSkipExceptionTranslation(table, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.patchTable", "TableService", "PatchTable"); + } + + @Test + public void testGetModel() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + + rpc.getModelSkipExceptionTranslation( + "test-project", "test-dataset", "test-model", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.getModel", "ModelService", "GetModel"); + } + + @Test + public void testListModels() throws Exception { + setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); + + rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.listModels", "ModelService", "ListModels"); + } + + @Test + public void testPatchModel() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + + Model model = new Model(); + model.setModelReference( + new ModelReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setModelId("test-model")); + rpc.patchSkipExceptionTranslation(model, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.patchModel", "ModelService", "PatchModel"); + } + + @Test + public void testDeleteModel() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteModelSkipExceptionTranslation("test-project", "test-dataset", "test-model"); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.deleteModel", "ModelService", "DeleteModel"); + } + + @Test + public void testGetRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + rpc.getRoutineSkipExceptionTranslation( + "test-project", "test-dataset", "test-routine", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getRoutine", "RoutineService", "GetRoutine"); + } + + @Test + public void testListRoutines() throws Exception { + setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); + + rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", "ListRoutines"); + } + + @Test + public void testCreateRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + Routine routine = new Routine(); + routine.setRoutineReference( + new RoutineReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setRoutineId("test-routine")); + rpc.createSkipExceptionTranslation(routine, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets/test-dataset/routines"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.createRoutine", "RoutineService", "InsertRoutine"); + } + + @Test + public void testDeleteRoutine() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); + + verifyRequest( + "DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", "ListRoutines"); + } + + @Test + public void testUpdateRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + Routine routine = new Routine(); + routine.setRoutineReference( + new RoutineReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setRoutineId("test-routine")); + rpc.updateSkipExceptionTranslation(routine, new HashMap<>()); + + verifyRequest("PUT", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.updateRoutine", "RoutineService", "UpdateRoutine"); + } + + @Test + public void testInsertAll() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); + + TableDataInsertAllRequest request = new TableDataInsertAllRequest(); + rpc.insertAllSkipExceptionTranslation("test-project", "test-dataset", "test-table", request); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table/insertAll"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.insertAll", "TableDataService", "InsertAll"); + } + + @Test + public void testListTableData() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); + + rpc.listTableDataSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.listTableData", "TableDataService", "List"); + } + + @Test + public void testListTableDataWithRowLimit() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); + + rpc.listTableDataWithRowLimitSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", 10, null); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listTableDataWithRowLimit", + "TableDataService", + "List"); + } + + @Test + public void testGetJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + rpc.getJobSkipExceptionTranslation( + "test-project", "test-job", "test-location", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.getJob", "JobService", "GetJob"); + } + + @Test + public void testGetQueryJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + rpc.getQueryJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.getQueryJob", "JobService", "GetJob"); + } + + @Test + public void testListJobs() throws Exception { + setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); + + rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/jobs"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.listJobs", "JobService", "ListJobs"); + } + + @Test + public void testCreateJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + Job job = new Job(); + job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + rpc.createSkipExceptionTranslation(job, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/jobs"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.createJob", "JobService", "InsertJob"); + } + + @Test + public void testCreateJobForQuery() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + Job job = new Job(); + job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + rpc.createJobForQuerySkipExceptionTranslation(job); + + verifyRequest("POST", "/projects/test-project/jobs"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.createJobForQuery", "JobService", "InsertJob"); + } + + @Test + public void testCancelJob() throws Exception { + setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); + + rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("POST", "/projects/test-project/jobs/test-job/cancel"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.cancelJob", "JobService", "CancelJob"); + } + + @Test + public void testDeleteJob() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("DELETE", "/projects/test-project/jobs/test-job"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.deleteJob", "JobService", "DeleteJob"); + } + + @Test + public void testGetQueryResults() throws Exception { + setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); + + rpc.getQueryResultsSkipExceptionTranslation( + "test-project", "test-job", "test-location", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getQueryResults", "JobService", "GetQueryResults"); + } + + @Test + public void testGetQueryResultsWithRowLimit() throws Exception { + setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); + + rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( + "test-project", "test-job", "test-location", 10, 1000L); + + verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getQueryResultsWithRowLimit", + "JobService", + "GetQueryResults"); + } + + @Test + public void testQueryRpc() throws Exception { + setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); + + rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); + + verifyRequest("POST", "/projects/test-project/queries"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.queryRpc", "JobService", "Query"); + } + + @Test + public void testGetIamPolicy() throws Exception { + setMockResponse("{\"kind\":\"bigquery#policy\"}"); + + rpc.getIamPolicySkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", new HashMap<>()); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:getIamPolicy"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getIamPolicy", "TableService", "GetIamPolicy"); + } + + @Test + public void testSetIamPolicy() throws Exception { + setMockResponse("{\"kind\":\"bigquery#policy\"}"); + + rpc.setIamPolicySkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", + new Policy(), + new HashMap<>()); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:setIamPolicy"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", "SetIamPolicy"); + } + + @Test + public void testTestIamPermissions() throws Exception { + setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); + + rpc.testIamPermissionsSkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", + Arrays.asList("p1", "p2"), + new HashMap<>()); + + verifyRequest( + "POST", + "/projects/test-project/datasets/test-dataset/tables/test-table:testIamPermissions"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", "SetIamPolicy"); + } + } + + @Nested + class TelemetryDisabled { + private HttpBigQueryRpc rpc; + + @BeforeEach + public void setUp() { + rpc = createRpc(false); + } + + @Test + public void testGetDataset() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); + + rpc.getDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset"); + verifyNoSpans(); + } + + @Test + public void testListDatasets() throws Exception { + setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); + + rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets"); + verifyNoSpans(); + } + + @Test + public void testCreateDataset() throws Exception { + setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + + Dataset dataset = new Dataset(); + dataset.setDatasetReference( + new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + rpc.createSkipExceptionTranslation(dataset, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets"); + verifyNoSpans(); + } + + @Test + public void testDeleteDataset() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset"); + verifyNoSpans(); + } + + @Test + public void testPatchDataset() throws Exception { + setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + + Dataset dataset = new Dataset(); + dataset.setDatasetReference( + new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + rpc.patchSkipExceptionTranslation(dataset, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset"); + verifyNoSpans(); + } + + @Test + public void testGetTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + rpc.getTableSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyNoSpans(); + } + + @Test + public void testListTables() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); + + rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables"); + verifyNoSpans(); + } + + @Test + public void testCreateTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + Table table = new Table(); + table.setTableReference( + new TableReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setTableId("test-table")); + rpc.createSkipExceptionTranslation(table, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets/test-dataset/tables"); + verifyNoSpans(); + } + + @Test + public void testDeleteTable() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteTableSkipExceptionTranslation("test-project", "test-dataset", "test-table"); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyNoSpans(); + } + + @Test + public void testPatchTable() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + + Table table = new Table(); + table.setTableReference( + new TableReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setTableId("test-table")); + rpc.patchSkipExceptionTranslation(table, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyNoSpans(); + } + + @Test + public void testGetModel() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + + rpc.getModelSkipExceptionTranslation( + "test-project", "test-dataset", "test-model", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyNoSpans(); + } + + @Test + public void testListModels() throws Exception { + setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); + + rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models"); + verifyNoSpans(); + } + + @Test + public void testPatchModel() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + + Model model = new Model(); + model.setModelReference( + new ModelReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setModelId("test-model")); + rpc.patchSkipExceptionTranslation(model, new HashMap<>()); + + verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyNoSpans(); + } + + @Test + public void testDeleteModel() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteModelSkipExceptionTranslation("test-project", "test-dataset", "test-model"); + + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyNoSpans(); + } + + @Test + public void testGetRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + rpc.getRoutineSkipExceptionTranslation( + "test-project", "test-dataset", "test-routine", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyNoSpans(); + } + + @Test + public void testListRoutines() throws Exception { + setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); + + rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines"); + verifyNoSpans(); + } + + @Test + public void testCreateRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + Routine routine = new Routine(); + routine.setRoutineReference( + new RoutineReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setRoutineId("test-routine")); + rpc.createSkipExceptionTranslation(routine, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/datasets/test-dataset/routines"); + verifyNoSpans(); + } + + @Test + public void testDeleteRoutine() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); + + verifyRequest( + "DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyNoSpans(); + } + + @Test + public void testUpdateRoutine() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + + Routine routine = new Routine(); + routine.setRoutineReference( + new RoutineReference() + .setProjectId("test-project") + .setDatasetId("test-dataset") + .setRoutineId("test-routine")); + rpc.updateSkipExceptionTranslation(routine, new HashMap<>()); + + verifyRequest("PUT", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyNoSpans(); + } + + @Test + public void testInsertAll() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); + + TableDataInsertAllRequest request = new TableDataInsertAllRequest(); + rpc.insertAllSkipExceptionTranslation("test-project", "test-dataset", "test-table", request); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table/insertAll"); + verifyNoSpans(); + } + + @Test + public void testListTableData() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); + + rpc.listTableDataSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyNoSpans(); + } + + @Test + public void testListTableDataWithRowLimit() throws Exception { + setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); + + rpc.listTableDataWithRowLimitSkipExceptionTranslation( + "test-project", "test-dataset", "test-table", 10, null); + + verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyNoSpans(); + } + + @Test + public void testGetJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + rpc.getJobSkipExceptionTranslation( + "test-project", "test-job", "test-location", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyNoSpans(); + } + + @Test + public void testGetQueryJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + rpc.getQueryJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyNoSpans(); + } + + @Test + public void testListJobs() throws Exception { + setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); + + rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/jobs"); + verifyNoSpans(); + } + + @Test + public void testCreateJob() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + Job job = new Job(); + job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + rpc.createSkipExceptionTranslation(job, new HashMap<>()); + + verifyRequest("POST", "/projects/test-project/jobs"); + verifyNoSpans(); + } + + @Test + public void testCreateJobForQuery() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + + Job job = new Job(); + job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + rpc.createJobForQuerySkipExceptionTranslation(job); + + verifyRequest("POST", "/projects/test-project/jobs"); + verifyNoSpans(); + } + + @Test + public void testCancelJob() throws Exception { + setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); + + rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("POST", "/projects/test-project/jobs/test-job/cancel"); + verifyNoSpans(); + } + + @Test + public void testDeleteJob() throws Exception { + setMockResponse(""); + mockResponse.setStatusCode(204); + + rpc.deleteJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + + verifyRequest("DELETE", "/projects/test-project/jobs/test-job"); + verifyNoSpans(); + } + + @Test + public void testGetQueryResults() throws Exception { + setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); + + rpc.getQueryResultsSkipExceptionTranslation( + "test-project", "test-job", "test-location", new HashMap<>()); + + verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyNoSpans(); + } + + @Test + public void testGetQueryResultsWithRowLimit() throws Exception { + setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); + + rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( + "test-project", "test-job", "test-location", 10, 1000L); + + verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyNoSpans(); + } + + @Test + public void testQueryRpc() throws Exception { + setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); + + rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); + + verifyRequest("POST", "/projects/test-project/queries"); + verifyNoSpans(); + } + + @Test + public void testGetIamPolicy() throws Exception { + setMockResponse("{\"kind\":\"bigquery#policy\"}"); + + rpc.getIamPolicySkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", new HashMap<>()); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:getIamPolicy"); + verifyNoSpans(); + } + + @Test + public void testSetIamPolicy() throws Exception { + setMockResponse("{\"kind\":\"bigquery#policy\"}"); + + rpc.setIamPolicySkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", + new Policy(), + new HashMap<>()); + + verifyRequest( + "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:setIamPolicy"); + verifyNoSpans(); + } + + @Test + public void testTestIamPermissions() throws Exception { + setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); + + rpc.testIamPermissionsSkipExceptionTranslation( + "projects/test-project/datasets/test-dataset/tables/test-table", + Arrays.asList("p1", "p2"), + new HashMap<>()); + + verifyRequest( + "POST", + "/projects/test-project/datasets/test-dataset/tables/test-table:testIamPermissions"); + verifyNoSpans(); + } + } } From 2fd3f90a3e30db06a58da81f294635d2fe064599 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 14:56:25 -0400 Subject: [PATCH 2/6] fixed formatting --- .../cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index 0adee1f9a067..874eb0f6a436 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -125,8 +125,7 @@ private void verifySpan(String spanName, String service, String method) { SpanData rpcSpan = spans.stream().filter(span -> span.getName().equals(spanName)).findFirst().orElse(null); assertNotNull(rpcSpan); - assertEquals( - service, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.service"))); + assertEquals(service, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.service"))); assertEquals(method, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.method"))); assertEquals("http", rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.system"))); } @@ -408,8 +407,7 @@ public void testDeleteRoutine() throws Exception { rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); - verifyRequest( - "DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", "ListRoutines"); } @@ -862,8 +860,7 @@ public void testDeleteRoutine() throws Exception { rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); - verifyRequest( - "DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); verifyNoSpans(); } From b9010a5cac1f175b032ef78919f736bf77f52b45 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 16:01:45 -0400 Subject: [PATCH 3/6] added validation of post response attributes --- .../bigquery/spi/v2/HttpBigQueryRpcTest.java | 335 ++++++++++++------ 1 file changed, 224 insertions(+), 111 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index 874eb0f6a436..7c8bf9be86dd 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -54,6 +54,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.Map; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -119,7 +120,8 @@ private void setMockResponse(String content) { mockResponse.setContent(content); } - private void verifySpan(String spanName, String service, String method) { + private void verifySpan( + String spanName, String service, String method, Map attributes) { List spans = spanExporter.getFinishedSpanItems(); assertThat(spans).isNotEmpty(); SpanData rpcSpan = @@ -128,6 +130,13 @@ private void verifySpan(String spanName, String service, String method) { assertEquals(service, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.service"))); assertEquals(method, rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.method"))); assertEquals("http", rpcSpan.getAttributes().get(AttributeKey.stringKey("bq.rpc.system"))); + + if (attributes != null) { + for (Map.Entry entry : attributes.entrySet()) { + assertEquals( + entry.getValue(), rpcSpan.getAttributes().get(AttributeKey.stringKey(entry.getKey()))); + } + } } private void verifyNoSpans() { @@ -176,7 +185,7 @@ public void setUp() { } @Test - public void testGetDataset() throws Exception { + public void testGetDatasetTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); @@ -184,22 +193,29 @@ public void testGetDataset() throws Exception { verifyRequest("GET", "/projects/test-project/datasets/test-dataset"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.getDataset", "DatasetService", "GetDataset"); + "com.google.cloud.bigquery.BigQueryRpc.getDataset", + "DatasetService", + "GetDataset", + Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); } @Test - public void testListDatasets() throws Exception { - setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); + public void testListDatasetsTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#datasetList\",\"datasets\":[], \"nextPageToken\":\"next-page-token\"}"); rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.listDatasets", "DatasetService", "ListDatasets"); + "com.google.cloud.bigquery.BigQueryRpc.listDatasets", + "DatasetService", + "ListDatasets", + Collections.singletonMap("bq.rpc.next_page_token", "next-page-token")); } @Test - public void testCreateDataset() throws Exception { + public void testCreateDatasetTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -209,11 +225,14 @@ public void testCreateDataset() throws Exception { verifyRequest("POST", "/projects/test-project/datasets"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.createDataset", "DatasetService", "InsertDataset"); + "com.google.cloud.bigquery.BigQueryRpc.createDataset", + "DatasetService", + "InsertDataset", + Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); } @Test - public void testDeleteDataset() throws Exception { + public void testDeleteDatasetTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -221,11 +240,14 @@ public void testDeleteDataset() throws Exception { verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.deleteDataset", "DatasetService", "DeleteDataset"); + "com.google.cloud.bigquery.BigQueryRpc.deleteDataset", + "DatasetService", + "DeleteDataset", + null); } @Test - public void testPatchDataset() throws Exception { + public void testPatchDatasetTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -235,11 +257,14 @@ public void testPatchDataset() throws Exception { verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.patchDataset", "DatasetService", "PatchDataset"); + "com.google.cloud.bigquery.BigQueryRpc.patchDataset", + "DatasetService", + "PatchDataset", + Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); } @Test - public void testGetTable() throws Exception { + public void testGetTableTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -247,21 +272,31 @@ public void testGetTable() throws Exception { "test-project", "test-dataset", "test-table", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.getTable", "TableService", "GetTable"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getTable", + "TableService", + "GetTable", + Collections.singletonMap( + "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); } @Test - public void testListTables() throws Exception { - setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); + public void testListTablesTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#tableList\",\"tables\":[], \"nextPageToken\":\"next-page-token\"}"); rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.listTables", "TableService", "ListTables"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listTables", + "TableService", + "ListTables", + Collections.singletonMap("bq.rpc.next_page_token", "next-page-token")); } @Test - public void testCreateTable() throws Exception { + public void testCreateTableTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -275,11 +310,15 @@ public void testCreateTable() throws Exception { verifyRequest("POST", "/projects/test-project/datasets/test-dataset/tables"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.createTable", "TableService", "InsertTable"); + "com.google.cloud.bigquery.BigQueryRpc.createTable", + "TableService", + "InsertTable", + Collections.singletonMap( + "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); } @Test - public void testDeleteTable() throws Exception { + public void testDeleteTableTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -287,11 +326,11 @@ public void testDeleteTable() throws Exception { verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/tables/test-table"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.deleteTable", "TableService", "DeleteTable"); + "com.google.cloud.bigquery.BigQueryRpc.deleteTable", "TableService", "DeleteTable", null); } @Test - public void testPatchTable() throws Exception { + public void testPatchTableTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -304,11 +343,16 @@ public void testPatchTable() throws Exception { rpc.patchSkipExceptionTranslation(table, new HashMap<>()); verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/tables/test-table"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.patchTable", "TableService", "PatchTable"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.patchTable", + "TableService", + "PatchTable", + Collections.singletonMap( + "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); } @Test - public void testGetModel() throws Exception { + public void testGetModelTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -316,21 +360,30 @@ public void testGetModel() throws Exception { "test-project", "test-dataset", "test-model", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models/test-model"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.getModel", "ModelService", "GetModel"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getModel", + "ModelService", + "GetModel", + Collections.singletonMap("bq.rpc.response.model.id", "test-model")); } @Test - public void testListModels() throws Exception { - setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); + public void testListModelsTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#modelList\",\"models\":[], \"nextPageToken\":\"next-page-token\"}"); rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.listModels", "ModelService", "ListModels"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listModels", + "ModelService", + "ListModels", + Collections.singletonMap("bq.rpc.next_page_token", "next-page-token")); } @Test - public void testPatchModel() throws Exception { + public void testPatchModelTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -343,11 +396,15 @@ public void testPatchModel() throws Exception { rpc.patchSkipExceptionTranslation(model, new HashMap<>()); verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/models/test-model"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.patchModel", "ModelService", "PatchModel"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.patchModel", + "ModelService", + "PatchModel", + Collections.singletonMap("bq.rpc.response.model.id", "test-model")); } @Test - public void testDeleteModel() throws Exception { + public void testDeleteModelTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -355,11 +412,11 @@ public void testDeleteModel() throws Exception { verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/models/test-model"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.deleteModel", "ModelService", "DeleteModel"); + "com.google.cloud.bigquery.BigQueryRpc.deleteModel", "ModelService", "DeleteModel", null); } @Test - public void testGetRoutine() throws Exception { + public void testGetRoutineTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -368,22 +425,29 @@ public void testGetRoutine() throws Exception { verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines/test-routine"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.getRoutine", "RoutineService", "GetRoutine"); + "com.google.cloud.bigquery.BigQueryRpc.getRoutine", + "RoutineService", + "GetRoutine", + Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); } @Test - public void testListRoutines() throws Exception { - setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); + public void testListRoutinesTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#routineList\",\"routines\":[], \"nextPageToken\":\"next-page-token\"}"); rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", "ListRoutines"); + "com.google.cloud.bigquery.BigQueryRpc.listRoutines", + "RoutineService", + "ListRoutines", + Collections.singletonMap("bq.rpc.next_page_token", "next-page-token")); } @Test - public void testCreateRoutine() throws Exception { + public void testCreateRoutineTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -397,11 +461,14 @@ public void testCreateRoutine() throws Exception { verifyRequest("POST", "/projects/test-project/datasets/test-dataset/routines"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.createRoutine", "RoutineService", "InsertRoutine"); + "com.google.cloud.bigquery.BigQueryRpc.createRoutine", + "RoutineService", + "InsertRoutine", + Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); } @Test - public void testDeleteRoutine() throws Exception { + public void testDeleteRoutineTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -409,11 +476,14 @@ public void testDeleteRoutine() throws Exception { verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", "ListRoutines"); + "com.google.cloud.bigquery.BigQueryRpc.listRoutines", + "RoutineService", + "ListRoutines", + null); } @Test - public void testUpdateRoutine() throws Exception { + public void testUpdateRoutineTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -427,11 +497,14 @@ public void testUpdateRoutine() throws Exception { verifyRequest("PUT", "/projects/test-project/datasets/test-dataset/routines/test-routine"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.updateRoutine", "RoutineService", "UpdateRoutine"); + "com.google.cloud.bigquery.BigQueryRpc.updateRoutine", + "RoutineService", + "UpdateRoutine", + Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); } @Test - public void testInsertAll() throws Exception { + public void testInsertAllTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); @@ -440,22 +513,23 @@ public void testInsertAll() throws Exception { verifyRequest( "POST", "/projects/test-project/datasets/test-dataset/tables/test-table/insertAll"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.insertAll", "TableDataService", "InsertAll"); + "com.google.cloud.bigquery.BigQueryRpc.insertAll", "TableDataService", "InsertAll", null); } @Test - public void testListTableData() throws Exception { + public void testListTableDataTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataSkipExceptionTranslation( "test-project", "test-dataset", "test-table", new HashMap<>()); verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.listTableData", "TableDataService", "List"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listTableData", "TableDataService", "List", null); } @Test - public void testListTableDataWithRowLimit() throws Exception { + public void testListTableDataWithRowLimitTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( @@ -465,11 +539,12 @@ public void testListTableDataWithRowLimit() throws Exception { verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listTableDataWithRowLimit", "TableDataService", - "List"); + "List", + null); } @Test - public void testGetJob() throws Exception { + public void testGetJobTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -477,32 +552,45 @@ public void testGetJob() throws Exception { "test-project", "test-job", "test-location", new HashMap<>()); verifyRequest("GET", "/projects/test-project/jobs/test-job"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.getJob", "JobService", "GetJob"); + Map attributes = new HashMap<>(); + attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.status.state", "DONE"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getJob", "JobService", "GetJob", attributes); } @Test - public void testGetQueryJob() throws Exception { + public void testGetQueryJobTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); rpc.getQueryJobSkipExceptionTranslation("test-project", "test-job", "test-location"); verifyRequest("GET", "/projects/test-project/jobs/test-job"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.getQueryJob", "JobService", "GetJob"); + Map attributes = new HashMap<>(); + attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.status.state", "DONE"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.getQueryJob", "JobService", "GetJob", attributes); } @Test - public void testListJobs() throws Exception { - setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); + public void testListJobsTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#jobList\",\"jobs\":[], \"nextPageToken\":\"next-page-token\"}"); rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); verifyRequest("GET", "/projects/test-project/jobs"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.listJobs", "JobService", "ListJobs"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.listJobs", + "JobService", + "ListJobs", + Collections.singletonMap("bq.rpc.next_page_token", "next-page-token")); } @Test - public void testCreateJob() throws Exception { + public void testCreateJobTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -511,11 +599,15 @@ public void testCreateJob() throws Exception { rpc.createSkipExceptionTranslation(job, new HashMap<>()); verifyRequest("POST", "/projects/test-project/jobs"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.createJob", "JobService", "InsertJob"); + Map attributes = new HashMap<>(); + attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.status.state", "DONE"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.createJob", "JobService", "InsertJob", attributes); } @Test - public void testCreateJobForQuery() throws Exception { + public void testCreateJobForQueryTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -524,33 +616,41 @@ public void testCreateJobForQuery() throws Exception { rpc.createJobForQuerySkipExceptionTranslation(job); verifyRequest("POST", "/projects/test-project/jobs"); + Map attributes = new HashMap<>(); + attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.status.state", "DONE"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.createJobForQuery", "JobService", "InsertJob"); + "com.google.cloud.bigquery.BigQueryRpc.createJobForQuery", + "JobService", + "InsertJob", + attributes); } @Test - public void testCancelJob() throws Exception { + public void testCancelJobTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); verifyRequest("POST", "/projects/test-project/jobs/test-job/cancel"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.cancelJob", "JobService", "CancelJob"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.cancelJob", "JobService", "CancelJob", null); } @Test - public void testDeleteJob() throws Exception { + public void testDeleteJobTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); rpc.deleteJobSkipExceptionTranslation("test-project", "test-job", "test-location"); verifyRequest("DELETE", "/projects/test-project/jobs/test-job"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.deleteJob", "JobService", "DeleteJob"); + verifySpan( + "com.google.cloud.bigquery.BigQueryRpc.deleteJob", "JobService", "DeleteJob", null); } @Test - public void testGetQueryResults() throws Exception { + public void testGetQueryResultsTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsSkipExceptionTranslation( @@ -558,11 +658,14 @@ public void testGetQueryResults() throws Exception { verifyRequest("GET", "/projects/test-project/queries/test-job"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.getQueryResults", "JobService", "GetQueryResults"); + "com.google.cloud.bigquery.BigQueryRpc.getQueryResults", + "JobService", + "GetQueryResults", + null); } @Test - public void testGetQueryResultsWithRowLimit() throws Exception { + public void testGetQueryResultsWithRowLimitTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( @@ -572,21 +675,22 @@ public void testGetQueryResultsWithRowLimit() throws Exception { verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getQueryResultsWithRowLimit", "JobService", - "GetQueryResults"); + "GetQueryResults", + null); } @Test - public void testQueryRpc() throws Exception { + public void testQueryRpcTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); verifyRequest("POST", "/projects/test-project/queries"); - verifySpan("com.google.cloud.bigquery.BigQueryRpc.queryRpc", "JobService", "Query"); + verifySpan("com.google.cloud.bigquery.BigQueryRpc.queryRpc", "JobService", "Query", null); } @Test - public void testGetIamPolicy() throws Exception { + public void testGetIamPolicyTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( @@ -595,11 +699,14 @@ public void testGetIamPolicy() throws Exception { verifyRequest( "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:getIamPolicy"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.getIamPolicy", "TableService", "GetIamPolicy"); + "com.google.cloud.bigquery.BigQueryRpc.getIamPolicy", + "TableService", + "GetIamPolicy", + null); } @Test - public void testSetIamPolicy() throws Exception { + public void testSetIamPolicyTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( @@ -610,11 +717,14 @@ public void testSetIamPolicy() throws Exception { verifyRequest( "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:setIamPolicy"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", "SetIamPolicy"); + "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", + "TableService", + "SetIamPolicy", + null); } @Test - public void testTestIamPermissions() throws Exception { + public void testTestIamPermissionsTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( @@ -626,7 +736,10 @@ public void testTestIamPermissions() throws Exception { "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:testIamPermissions"); verifySpan( - "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", "SetIamPolicy"); + "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", + "TableService", + "SetIamPolicy", + null); } } @@ -640,7 +753,7 @@ public void setUp() { } @Test - public void testGetDataset() throws Exception { + public void testGetDatasetNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); @@ -651,7 +764,7 @@ public void testGetDataset() throws Exception { } @Test - public void testListDatasets() throws Exception { + public void testListDatasetsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); @@ -661,7 +774,7 @@ public void testListDatasets() throws Exception { } @Test - public void testCreateDataset() throws Exception { + public void testCreateDatasetNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -674,7 +787,7 @@ public void testCreateDataset() throws Exception { } @Test - public void testDeleteDataset() throws Exception { + public void testDeleteDatasetNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -685,7 +798,7 @@ public void testDeleteDataset() throws Exception { } @Test - public void testPatchDataset() throws Exception { + public void testPatchDatasetNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -698,7 +811,7 @@ public void testPatchDataset() throws Exception { } @Test - public void testGetTable() throws Exception { + public void testGetTableNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -710,7 +823,7 @@ public void testGetTable() throws Exception { } @Test - public void testListTables() throws Exception { + public void testListTablesNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -720,7 +833,7 @@ public void testListTables() throws Exception { } @Test - public void testCreateTable() throws Exception { + public void testCreateTableNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -737,7 +850,7 @@ public void testCreateTable() throws Exception { } @Test - public void testDeleteTable() throws Exception { + public void testDeleteTableNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -748,7 +861,7 @@ public void testDeleteTable() throws Exception { } @Test - public void testPatchTable() throws Exception { + public void testPatchTableNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -765,7 +878,7 @@ public void testPatchTable() throws Exception { } @Test - public void testGetModel() throws Exception { + public void testGetModelNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -777,7 +890,7 @@ public void testGetModel() throws Exception { } @Test - public void testListModels() throws Exception { + public void testListModelsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -787,7 +900,7 @@ public void testListModels() throws Exception { } @Test - public void testPatchModel() throws Exception { + public void testPatchModelNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -804,7 +917,7 @@ public void testPatchModel() throws Exception { } @Test - public void testDeleteModel() throws Exception { + public void testDeleteModelNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -815,7 +928,7 @@ public void testDeleteModel() throws Exception { } @Test - public void testGetRoutine() throws Exception { + public void testGetRoutineNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -827,7 +940,7 @@ public void testGetRoutine() throws Exception { } @Test - public void testListRoutines() throws Exception { + public void testListRoutinesNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -837,7 +950,7 @@ public void testListRoutines() throws Exception { } @Test - public void testCreateRoutine() throws Exception { + public void testCreateRoutineNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -854,7 +967,7 @@ public void testCreateRoutine() throws Exception { } @Test - public void testDeleteRoutine() throws Exception { + public void testDeleteRoutineNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -865,7 +978,7 @@ public void testDeleteRoutine() throws Exception { } @Test - public void testUpdateRoutine() throws Exception { + public void testUpdateRoutineNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -882,7 +995,7 @@ public void testUpdateRoutine() throws Exception { } @Test - public void testInsertAll() throws Exception { + public void testInsertAllNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); @@ -894,7 +1007,7 @@ public void testInsertAll() throws Exception { } @Test - public void testListTableData() throws Exception { + public void testListTableDataNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataSkipExceptionTranslation( @@ -905,7 +1018,7 @@ public void testListTableData() throws Exception { } @Test - public void testListTableDataWithRowLimit() throws Exception { + public void testListTableDataWithRowLimitNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( @@ -916,7 +1029,7 @@ public void testListTableDataWithRowLimit() throws Exception { } @Test - public void testGetJob() throws Exception { + public void testGetJobNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -928,7 +1041,7 @@ public void testGetJob() throws Exception { } @Test - public void testGetQueryJob() throws Exception { + public void testGetQueryJobNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -939,7 +1052,7 @@ public void testGetQueryJob() throws Exception { } @Test - public void testListJobs() throws Exception { + public void testListJobsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); @@ -949,7 +1062,7 @@ public void testListJobs() throws Exception { } @Test - public void testCreateJob() throws Exception { + public void testCreateJobNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -962,7 +1075,7 @@ public void testCreateJob() throws Exception { } @Test - public void testCreateJobForQuery() throws Exception { + public void testCreateJobForQueryNoTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -975,7 +1088,7 @@ public void testCreateJobForQuery() throws Exception { } @Test - public void testCancelJob() throws Exception { + public void testCancelJobNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); @@ -985,7 +1098,7 @@ public void testCancelJob() throws Exception { } @Test - public void testDeleteJob() throws Exception { + public void testDeleteJobNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -996,7 +1109,7 @@ public void testDeleteJob() throws Exception { } @Test - public void testGetQueryResults() throws Exception { + public void testGetQueryResultsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsSkipExceptionTranslation( @@ -1007,7 +1120,7 @@ public void testGetQueryResults() throws Exception { } @Test - public void testGetQueryResultsWithRowLimit() throws Exception { + public void testGetQueryResultsWithRowLimitNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( @@ -1018,7 +1131,7 @@ public void testGetQueryResultsWithRowLimit() throws Exception { } @Test - public void testQueryRpc() throws Exception { + public void testQueryRpcNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); @@ -1028,7 +1141,7 @@ public void testQueryRpc() throws Exception { } @Test - public void testGetIamPolicy() throws Exception { + public void testGetIamPolicyNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( @@ -1040,7 +1153,7 @@ public void testGetIamPolicy() throws Exception { } @Test - public void testSetIamPolicy() throws Exception { + public void testSetIamPolicyNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( @@ -1054,7 +1167,7 @@ public void testSetIamPolicy() throws Exception { } @Test - public void testTestIamPermissions() throws Exception { + public void testTestIamPermissionsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( From aa816fb1b15f7ac0f84bc649fe18817a82798082 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 16:02:59 -0400 Subject: [PATCH 4/6] simply test names --- .../bigquery/spi/v2/HttpBigQueryRpcTest.java | 140 +++++++++--------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index 7c8bf9be86dd..4805edb9bbcb 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -185,7 +185,7 @@ public void setUp() { } @Test - public void testGetDatasetTelemetry() throws Exception { + public void testGetDataset() throws Exception { setMockResponse( "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); @@ -200,7 +200,7 @@ public void testGetDatasetTelemetry() throws Exception { } @Test - public void testListDatasetsTelemetry() throws Exception { + public void testListDatasets() throws Exception { setMockResponse( "{\"kind\":\"bigquery#datasetList\",\"datasets\":[], \"nextPageToken\":\"next-page-token\"}"); @@ -215,7 +215,7 @@ public void testListDatasetsTelemetry() throws Exception { } @Test - public void testCreateDatasetTelemetry() throws Exception { + public void testCreateDataset() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -232,7 +232,7 @@ public void testCreateDatasetTelemetry() throws Exception { } @Test - public void testDeleteDatasetTelemetry() throws Exception { + public void testDeleteDataset() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -247,7 +247,7 @@ public void testDeleteDatasetTelemetry() throws Exception { } @Test - public void testPatchDatasetTelemetry() throws Exception { + public void testPatchDataset() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -264,7 +264,7 @@ public void testPatchDatasetTelemetry() throws Exception { } @Test - public void testGetTableTelemetry() throws Exception { + public void testGetTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -281,7 +281,7 @@ public void testGetTableTelemetry() throws Exception { } @Test - public void testListTablesTelemetry() throws Exception { + public void testListTables() throws Exception { setMockResponse( "{\"kind\":\"bigquery#tableList\",\"tables\":[], \"nextPageToken\":\"next-page-token\"}"); @@ -296,7 +296,7 @@ public void testListTablesTelemetry() throws Exception { } @Test - public void testCreateTableTelemetry() throws Exception { + public void testCreateTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -318,7 +318,7 @@ public void testCreateTableTelemetry() throws Exception { } @Test - public void testDeleteTableTelemetry() throws Exception { + public void testDeleteTable() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -330,7 +330,7 @@ public void testDeleteTableTelemetry() throws Exception { } @Test - public void testPatchTableTelemetry() throws Exception { + public void testPatchTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -352,7 +352,7 @@ public void testPatchTableTelemetry() throws Exception { } @Test - public void testGetModelTelemetry() throws Exception { + public void testGetModel() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -368,7 +368,7 @@ public void testGetModelTelemetry() throws Exception { } @Test - public void testListModelsTelemetry() throws Exception { + public void testListModels() throws Exception { setMockResponse( "{\"kind\":\"bigquery#modelList\",\"models\":[], \"nextPageToken\":\"next-page-token\"}"); @@ -383,7 +383,7 @@ public void testListModelsTelemetry() throws Exception { } @Test - public void testPatchModelTelemetry() throws Exception { + public void testPatchModel() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -404,7 +404,7 @@ public void testPatchModelTelemetry() throws Exception { } @Test - public void testDeleteModelTelemetry() throws Exception { + public void testDeleteModel() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -416,7 +416,7 @@ public void testDeleteModelTelemetry() throws Exception { } @Test - public void testGetRoutineTelemetry() throws Exception { + public void testGetRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -432,7 +432,7 @@ public void testGetRoutineTelemetry() throws Exception { } @Test - public void testListRoutinesTelemetry() throws Exception { + public void testListRoutines() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routineList\",\"routines\":[], \"nextPageToken\":\"next-page-token\"}"); @@ -447,7 +447,7 @@ public void testListRoutinesTelemetry() throws Exception { } @Test - public void testCreateRoutineTelemetry() throws Exception { + public void testCreateRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -468,7 +468,7 @@ public void testCreateRoutineTelemetry() throws Exception { } @Test - public void testDeleteRoutineTelemetry() throws Exception { + public void testDeleteRoutine() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -483,7 +483,7 @@ public void testDeleteRoutineTelemetry() throws Exception { } @Test - public void testUpdateRoutineTelemetry() throws Exception { + public void testUpdateRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -504,7 +504,7 @@ public void testUpdateRoutineTelemetry() throws Exception { } @Test - public void testInsertAllTelemetry() throws Exception { + public void testInsertAll() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); @@ -517,7 +517,7 @@ public void testInsertAllTelemetry() throws Exception { } @Test - public void testListTableDataTelemetry() throws Exception { + public void testListTableData() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataSkipExceptionTranslation( @@ -529,7 +529,7 @@ public void testListTableDataTelemetry() throws Exception { } @Test - public void testListTableDataWithRowLimitTelemetry() throws Exception { + public void testListTableDataWithRowLimit() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( @@ -544,7 +544,7 @@ public void testListTableDataWithRowLimitTelemetry() throws Exception { } @Test - public void testGetJobTelemetry() throws Exception { + public void testGetJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -560,7 +560,7 @@ public void testGetJobTelemetry() throws Exception { } @Test - public void testGetQueryJobTelemetry() throws Exception { + public void testGetQueryJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -575,7 +575,7 @@ public void testGetQueryJobTelemetry() throws Exception { } @Test - public void testListJobsTelemetry() throws Exception { + public void testListJobs() throws Exception { setMockResponse( "{\"kind\":\"bigquery#jobList\",\"jobs\":[], \"nextPageToken\":\"next-page-token\"}"); @@ -590,7 +590,7 @@ public void testListJobsTelemetry() throws Exception { } @Test - public void testCreateJobTelemetry() throws Exception { + public void testCreateJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -607,7 +607,7 @@ public void testCreateJobTelemetry() throws Exception { } @Test - public void testCreateJobForQueryTelemetry() throws Exception { + public void testCreateJobForQuery() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -627,7 +627,7 @@ public void testCreateJobForQueryTelemetry() throws Exception { } @Test - public void testCancelJobTelemetry() throws Exception { + public void testCancelJob() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); @@ -638,7 +638,7 @@ public void testCancelJobTelemetry() throws Exception { } @Test - public void testDeleteJobTelemetry() throws Exception { + public void testDeleteJob() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -650,7 +650,7 @@ public void testDeleteJobTelemetry() throws Exception { } @Test - public void testGetQueryResultsTelemetry() throws Exception { + public void testGetQueryResults() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsSkipExceptionTranslation( @@ -665,7 +665,7 @@ public void testGetQueryResultsTelemetry() throws Exception { } @Test - public void testGetQueryResultsWithRowLimitTelemetry() throws Exception { + public void testGetQueryResultsWithRowLimit() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( @@ -680,7 +680,7 @@ public void testGetQueryResultsWithRowLimitTelemetry() throws Exception { } @Test - public void testQueryRpcTelemetry() throws Exception { + public void testQueryRpc() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); @@ -690,7 +690,7 @@ public void testQueryRpcTelemetry() throws Exception { } @Test - public void testGetIamPolicyTelemetry() throws Exception { + public void testGetIamPolicy() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( @@ -706,7 +706,7 @@ public void testGetIamPolicyTelemetry() throws Exception { } @Test - public void testSetIamPolicyTelemetry() throws Exception { + public void testSetIamPolicy() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( @@ -724,7 +724,7 @@ public void testSetIamPolicyTelemetry() throws Exception { } @Test - public void testTestIamPermissionsTelemetry() throws Exception { + public void testTestIamPermissions() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( @@ -753,7 +753,7 @@ public void setUp() { } @Test - public void testGetDatasetNoTelemetry() throws Exception { + public void testGetDataset() throws Exception { setMockResponse( "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); @@ -764,7 +764,7 @@ public void testGetDatasetNoTelemetry() throws Exception { } @Test - public void testListDatasetsNoTelemetry() throws Exception { + public void testListDatasets() throws Exception { setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); @@ -774,7 +774,7 @@ public void testListDatasetsNoTelemetry() throws Exception { } @Test - public void testCreateDatasetNoTelemetry() throws Exception { + public void testCreateDataset() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -787,7 +787,7 @@ public void testCreateDatasetNoTelemetry() throws Exception { } @Test - public void testDeleteDatasetNoTelemetry() throws Exception { + public void testDeleteDataset() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -798,7 +798,7 @@ public void testDeleteDatasetNoTelemetry() throws Exception { } @Test - public void testPatchDatasetNoTelemetry() throws Exception { + public void testPatchDataset() throws Exception { setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); Dataset dataset = new Dataset(); @@ -811,7 +811,7 @@ public void testPatchDatasetNoTelemetry() throws Exception { } @Test - public void testGetTableNoTelemetry() throws Exception { + public void testGetTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -823,7 +823,7 @@ public void testGetTableNoTelemetry() throws Exception { } @Test - public void testListTablesNoTelemetry() throws Exception { + public void testListTables() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -833,7 +833,7 @@ public void testListTablesNoTelemetry() throws Exception { } @Test - public void testCreateTableNoTelemetry() throws Exception { + public void testCreateTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -850,7 +850,7 @@ public void testCreateTableNoTelemetry() throws Exception { } @Test - public void testDeleteTableNoTelemetry() throws Exception { + public void testDeleteTable() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -861,7 +861,7 @@ public void testDeleteTableNoTelemetry() throws Exception { } @Test - public void testPatchTableNoTelemetry() throws Exception { + public void testPatchTable() throws Exception { setMockResponse( "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); @@ -878,7 +878,7 @@ public void testPatchTableNoTelemetry() throws Exception { } @Test - public void testGetModelNoTelemetry() throws Exception { + public void testGetModel() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -890,7 +890,7 @@ public void testGetModelNoTelemetry() throws Exception { } @Test - public void testListModelsNoTelemetry() throws Exception { + public void testListModels() throws Exception { setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -900,7 +900,7 @@ public void testListModelsNoTelemetry() throws Exception { } @Test - public void testPatchModelNoTelemetry() throws Exception { + public void testPatchModel() throws Exception { setMockResponse( "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); @@ -917,7 +917,7 @@ public void testPatchModelNoTelemetry() throws Exception { } @Test - public void testDeleteModelNoTelemetry() throws Exception { + public void testDeleteModel() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -928,7 +928,7 @@ public void testDeleteModelNoTelemetry() throws Exception { } @Test - public void testGetRoutineNoTelemetry() throws Exception { + public void testGetRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -940,7 +940,7 @@ public void testGetRoutineNoTelemetry() throws Exception { } @Test - public void testListRoutinesNoTelemetry() throws Exception { + public void testListRoutines() throws Exception { setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); @@ -950,7 +950,7 @@ public void testListRoutinesNoTelemetry() throws Exception { } @Test - public void testCreateRoutineNoTelemetry() throws Exception { + public void testCreateRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -967,7 +967,7 @@ public void testCreateRoutineNoTelemetry() throws Exception { } @Test - public void testDeleteRoutineNoTelemetry() throws Exception { + public void testDeleteRoutine() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -978,7 +978,7 @@ public void testDeleteRoutineNoTelemetry() throws Exception { } @Test - public void testUpdateRoutineNoTelemetry() throws Exception { + public void testUpdateRoutine() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); @@ -995,7 +995,7 @@ public void testUpdateRoutineNoTelemetry() throws Exception { } @Test - public void testInsertAllNoTelemetry() throws Exception { + public void testInsertAll() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); @@ -1007,7 +1007,7 @@ public void testInsertAllNoTelemetry() throws Exception { } @Test - public void testListTableDataNoTelemetry() throws Exception { + public void testListTableData() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataSkipExceptionTranslation( @@ -1018,7 +1018,7 @@ public void testListTableDataNoTelemetry() throws Exception { } @Test - public void testListTableDataWithRowLimitNoTelemetry() throws Exception { + public void testListTableDataWithRowLimit() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( @@ -1029,7 +1029,7 @@ public void testListTableDataWithRowLimitNoTelemetry() throws Exception { } @Test - public void testGetJobNoTelemetry() throws Exception { + public void testGetJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -1041,7 +1041,7 @@ public void testGetJobNoTelemetry() throws Exception { } @Test - public void testGetQueryJobNoTelemetry() throws Exception { + public void testGetQueryJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -1052,7 +1052,7 @@ public void testGetQueryJobNoTelemetry() throws Exception { } @Test - public void testListJobsNoTelemetry() throws Exception { + public void testListJobs() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); @@ -1062,7 +1062,7 @@ public void testListJobsNoTelemetry() throws Exception { } @Test - public void testCreateJobNoTelemetry() throws Exception { + public void testCreateJob() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -1075,7 +1075,7 @@ public void testCreateJobNoTelemetry() throws Exception { } @Test - public void testCreateJobForQueryNoTelemetry() throws Exception { + public void testCreateJobForQuery() throws Exception { setMockResponse( "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); @@ -1088,7 +1088,7 @@ public void testCreateJobForQueryNoTelemetry() throws Exception { } @Test - public void testCancelJobNoTelemetry() throws Exception { + public void testCancelJob() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); @@ -1098,7 +1098,7 @@ public void testCancelJobNoTelemetry() throws Exception { } @Test - public void testDeleteJobNoTelemetry() throws Exception { + public void testDeleteJob() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); @@ -1109,7 +1109,7 @@ public void testDeleteJobNoTelemetry() throws Exception { } @Test - public void testGetQueryResultsNoTelemetry() throws Exception { + public void testGetQueryResults() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsSkipExceptionTranslation( @@ -1120,7 +1120,7 @@ public void testGetQueryResultsNoTelemetry() throws Exception { } @Test - public void testGetQueryResultsWithRowLimitNoTelemetry() throws Exception { + public void testGetQueryResultsWithRowLimit() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( @@ -1131,7 +1131,7 @@ public void testGetQueryResultsWithRowLimitNoTelemetry() throws Exception { } @Test - public void testQueryRpcNoTelemetry() throws Exception { + public void testQueryRpc() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); @@ -1141,7 +1141,7 @@ public void testQueryRpcNoTelemetry() throws Exception { } @Test - public void testGetIamPolicyNoTelemetry() throws Exception { + public void testGetIamPolicy() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( @@ -1153,7 +1153,7 @@ public void testGetIamPolicyNoTelemetry() throws Exception { } @Test - public void testSetIamPolicyNoTelemetry() throws Exception { + public void testSetIamPolicy() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( @@ -1167,7 +1167,7 @@ public void testSetIamPolicyNoTelemetry() throws Exception { } @Test - public void testTestIamPermissionsNoTelemetry() throws Exception { + public void testTestIamPermissions() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( From 970fbdc467f2c9cf8314512c40f78ec33b7e0023 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 16:25:43 -0400 Subject: [PATCH 5/6] pull out string constants --- .../bigquery/spi/v2/HttpBigQueryRpcTest.java | 812 +++++++++++------- 1 file changed, 520 insertions(+), 292 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index 4805edb9bbcb..ee77d38f72f5 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -61,6 +61,14 @@ public class HttpBigQueryRpcTest { + private static final String PROJECT_ID = "test-project"; + private static final String DATASET_ID = "test-dataset"; + private static final String TABLE_ID = "test-table"; + private static final String MODEL_ID = "test-model"; + private static final String ROUTINE_ID = "test-routine"; + private static final String JOB_ID = "test-job"; + private static final String LOCATION = "test-location"; + private InMemorySpanExporter spanExporter; private MockLowLevelHttpResponse mockResponse; private String lastRequestMethod; @@ -102,7 +110,7 @@ public LowLevelHttpResponse execute() { private HttpBigQueryRpc createRpc(boolean enableTracing) { BigQueryOptions options = BigQueryOptions.newBuilder() - .setProjectId("test-project") + .setProjectId(PROJECT_ID) .setCredentials(NoCredentials.getInstance()) .setEnableOpenTelemetryTracing(enableTracing) .setOpenTelemetryTracer(tracer) @@ -185,28 +193,36 @@ public void setUp() { } @Test - public void testGetDataset() throws Exception { + public void testGetDatasetTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); - - rpc.getDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); - - verifyRequest("GET", "/projects/test-project/datasets/test-dataset"); + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "\",\"datasetReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\"}}"); + + rpc.getDatasetSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); + + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getDataset", "DatasetService", "GetDataset", - Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); + Collections.singletonMap("bq.rpc.response.dataset.id", PROJECT_ID + ":" + DATASET_ID)); } @Test - public void testListDatasets() throws Exception { + public void testListDatasetsTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#datasetList\",\"datasets\":[], \"nextPageToken\":\"next-page-token\"}"); - rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); + rpc.listDatasetsSkipExceptionTranslation(PROJECT_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listDatasets", "DatasetService", @@ -215,30 +231,31 @@ public void testListDatasets() throws Exception { } @Test - public void testCreateDataset() throws Exception { - setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + public void testCreateDatasetTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + PROJECT_ID + ":" + DATASET_ID + "\"}"); Dataset dataset = new Dataset(); dataset.setDatasetReference( - new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + new DatasetReference().setProjectId(PROJECT_ID).setDatasetId(DATASET_ID)); rpc.createSkipExceptionTranslation(dataset, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.createDataset", "DatasetService", "InsertDataset", - Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); + Collections.singletonMap("bq.rpc.response.dataset.id", PROJECT_ID + ":" + DATASET_ID)); } @Test - public void testDeleteDataset() throws Exception { + public void testDeleteDatasetTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.deleteDatasetSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset"); + verifyRequest("DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.deleteDataset", "DatasetService", @@ -247,47 +264,54 @@ public void testDeleteDataset() throws Exception { } @Test - public void testPatchDataset() throws Exception { - setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + public void testPatchDatasetTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + PROJECT_ID + ":" + DATASET_ID + "\"}"); Dataset dataset = new Dataset(); dataset.setDatasetReference( - new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + new DatasetReference().setProjectId(PROJECT_ID).setDatasetId(DATASET_ID)); rpc.patchSkipExceptionTranslation(dataset, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset"); + verifyRequest("PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.patchDataset", "DatasetService", "PatchDataset", - Collections.singletonMap("bq.rpc.response.dataset.id", "test-project:test-dataset")); + Collections.singletonMap("bq.rpc.response.dataset.id", PROJECT_ID + ":" + DATASET_ID)); } @Test - public void testGetTable() throws Exception { + public void testGetTableTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); - rpc.getTableSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", new HashMap<>()); + rpc.getTableSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getTable", "TableService", "GetTable", Collections.singletonMap( - "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); + "bq.rpc.response.table.id", PROJECT_ID + ":" + DATASET_ID + "." + TABLE_ID)); } @Test - public void testListTables() throws Exception { + public void testListTablesTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#tableList\",\"tables\":[], \"nextPageToken\":\"next-page-token\"}"); - rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listTablesSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listTables", "TableService", @@ -296,85 +320,105 @@ public void testListTables() throws Exception { } @Test - public void testCreateTable() throws Exception { + public void testCreateTableTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); Table table = new Table(); table.setTableReference( new TableReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setTableId("test-table")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setTableId(TABLE_ID)); rpc.createSkipExceptionTranslation(table, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets/test-dataset/tables"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.createTable", "TableService", "InsertTable", Collections.singletonMap( - "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); + "bq.rpc.response.table.id", PROJECT_ID + ":" + DATASET_ID + "." + TABLE_ID)); } @Test - public void testDeleteTable() throws Exception { + public void testDeleteTableTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteTableSkipExceptionTranslation("test-project", "test-dataset", "test-table"); + rpc.deleteTableSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.deleteTable", "TableService", "DeleteTable", null); } @Test - public void testPatchTable() throws Exception { + public void testPatchTableTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); Table table = new Table(); table.setTableReference( new TableReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setTableId("test-table")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setTableId(TABLE_ID)); rpc.patchSkipExceptionTranslation(table, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.patchTable", "TableService", "PatchTable", Collections.singletonMap( - "bq.rpc.response.table.id", "test-project:test-dataset.test-table")); + "bq.rpc.response.table.id", PROJECT_ID + ":" + DATASET_ID + "." + TABLE_ID)); } @Test - public void testGetModel() throws Exception { + public void testGetModelTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"modelId\":\"" + + MODEL_ID + + "\"}}"); - rpc.getModelSkipExceptionTranslation( - "test-project", "test-dataset", "test-model", new HashMap<>()); + rpc.getModelSkipExceptionTranslation(PROJECT_ID, DATASET_ID, MODEL_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getModel", "ModelService", "GetModel", - Collections.singletonMap("bq.rpc.response.model.id", "test-model")); + Collections.singletonMap("bq.rpc.response.model.id", MODEL_ID)); } @Test - public void testListModels() throws Exception { + public void testListModelsTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#modelList\",\"models\":[], \"nextPageToken\":\"next-page-token\"}"); - rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listModelsSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listModels", "ModelService", @@ -383,62 +427,76 @@ public void testListModels() throws Exception { } @Test - public void testPatchModel() throws Exception { + public void testPatchModelTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"modelId\":\"" + + MODEL_ID + + "\"}}"); Model model = new Model(); model.setModelReference( new ModelReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setModelId("test-model")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setModelId(MODEL_ID)); rpc.patchSkipExceptionTranslation(model, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.patchModel", "ModelService", "PatchModel", - Collections.singletonMap("bq.rpc.response.model.id", "test-model")); + Collections.singletonMap("bq.rpc.response.model.id", MODEL_ID)); } @Test - public void testDeleteModel() throws Exception { + public void testDeleteModelTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteModelSkipExceptionTranslation("test-project", "test-dataset", "test-model"); + rpc.deleteModelSkipExceptionTranslation(PROJECT_ID, DATASET_ID, MODEL_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.deleteModel", "ModelService", "DeleteModel", null); } @Test - public void testGetRoutine() throws Exception { + public void testGetRoutineTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); - rpc.getRoutineSkipExceptionTranslation( - "test-project", "test-dataset", "test-routine", new HashMap<>()); + rpc.getRoutineSkipExceptionTranslation(PROJECT_ID, DATASET_ID, ROUTINE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getRoutine", "RoutineService", "GetRoutine", - Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); + Collections.singletonMap("bq.rpc.response.routine.id", ROUTINE_ID)); } @Test - public void testListRoutines() throws Exception { + public void testListRoutinesTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#routineList\",\"routines\":[], \"nextPageToken\":\"next-page-token\"}"); - rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listRoutinesSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", @@ -447,34 +505,42 @@ public void testListRoutines() throws Exception { } @Test - public void testCreateRoutine() throws Exception { + public void testCreateRoutineTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); Routine routine = new Routine(); routine.setRoutineReference( new RoutineReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setRoutineId("test-routine")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setRoutineId(ROUTINE_ID)); rpc.createSkipExceptionTranslation(routine, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets/test-dataset/routines"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.createRoutine", "RoutineService", "InsertRoutine", - Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); + Collections.singletonMap("bq.rpc.response.routine.id", ROUTINE_ID)); } @Test - public void testDeleteRoutine() throws Exception { + public void testDeleteRoutineTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); + rpc.deleteRoutineSkipExceptionTranslation(PROJECT_ID, DATASET_ID, ROUTINE_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "DELETE", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listRoutines", "RoutineService", @@ -483,59 +549,76 @@ public void testDeleteRoutine() throws Exception { } @Test - public void testUpdateRoutine() throws Exception { + public void testUpdateRoutineTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); Routine routine = new Routine(); routine.setRoutineReference( new RoutineReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setRoutineId("test-routine")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setRoutineId(ROUTINE_ID)); rpc.updateSkipExceptionTranslation(routine, new HashMap<>()); - verifyRequest("PUT", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "PUT", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.updateRoutine", "RoutineService", "UpdateRoutine", - Collections.singletonMap("bq.rpc.response.routine.id", "test-routine")); + Collections.singletonMap("bq.rpc.response.routine.id", ROUTINE_ID)); } @Test - public void testInsertAll() throws Exception { + public void testInsertAllTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); - rpc.insertAllSkipExceptionTranslation("test-project", "test-dataset", "test-table", request); + rpc.insertAllSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, request); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table/insertAll"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + "/insertAll"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.insertAll", "TableDataService", "InsertAll", null); } @Test - public void testListTableData() throws Exception { + public void testListTableDataTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); - rpc.listTableDataSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", new HashMap<>()); + rpc.listTableDataSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyRequest( + "GET", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID + "/data"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listTableData", "TableDataService", "List", null); } @Test - public void testListTableDataWithRowLimit() throws Exception { + public void testListTableDataWithRowLimitTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", 10, null); + PROJECT_ID, DATASET_ID, TABLE_ID, 10, null); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyRequest( + "GET", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID + "/data"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listTableDataWithRowLimit", "TableDataService", @@ -544,44 +627,51 @@ public void testListTableDataWithRowLimit() throws Exception { } @Test - public void testGetJob() throws Exception { + public void testGetJobTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); - rpc.getJobSkipExceptionTranslation( - "test-project", "test-job", "test-location", new HashMap<>()); + rpc.getJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); Map attributes = new HashMap<>(); - attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.id", PROJECT_ID + ":" + JOB_ID); attributes.put("bq.rpc.response.job.status.state", "DONE"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getJob", "JobService", "GetJob", attributes); } @Test - public void testGetQueryJob() throws Exception { + public void testGetQueryJobTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); - rpc.getQueryJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.getQueryJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); Map attributes = new HashMap<>(); - attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.id", PROJECT_ID + ":" + JOB_ID); attributes.put("bq.rpc.response.job.status.state", "DONE"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getQueryJob", "JobService", "GetJob", attributes); } @Test - public void testListJobs() throws Exception { + public void testListJobsTelemetry() throws Exception { setMockResponse( "{\"kind\":\"bigquery#jobList\",\"jobs\":[], \"nextPageToken\":\"next-page-token\"}"); - rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); + rpc.listJobsSkipExceptionTranslation(PROJECT_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/jobs"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.listJobs", "JobService", @@ -590,34 +680,42 @@ public void testListJobs() throws Exception { } @Test - public void testCreateJob() throws Exception { + public void testCreateJobTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); Job job = new Job(); - job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + job.setJobReference(new JobReference().setProjectId(PROJECT_ID).setJobId(JOB_ID)); rpc.createSkipExceptionTranslation(job, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/jobs"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs"); Map attributes = new HashMap<>(); - attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.id", PROJECT_ID + ":" + JOB_ID); attributes.put("bq.rpc.response.job.status.state", "DONE"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.createJob", "JobService", "InsertJob", attributes); } @Test - public void testCreateJobForQuery() throws Exception { + public void testCreateJobForQueryTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); Job job = new Job(); - job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + job.setJobReference(new JobReference().setProjectId(PROJECT_ID).setJobId(JOB_ID)); rpc.createJobForQuerySkipExceptionTranslation(job); - verifyRequest("POST", "/projects/test-project/jobs"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs"); Map attributes = new HashMap<>(); - attributes.put("bq.rpc.response.job.id", "test-project:test-job"); + attributes.put("bq.rpc.response.job.id", PROJECT_ID + ":" + JOB_ID); attributes.put("bq.rpc.response.job.status.state", "DONE"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.createJobForQuery", @@ -627,36 +725,35 @@ public void testCreateJobForQuery() throws Exception { } @Test - public void testCancelJob() throws Exception { + public void testCancelJobTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); - rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.cancelSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("POST", "/projects/test-project/jobs/test-job/cancel"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID + "/cancel"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.cancelJob", "JobService", "CancelJob", null); } @Test - public void testDeleteJob() throws Exception { + public void testDeleteJobTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.deleteJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("DELETE", "/projects/test-project/jobs/test-job"); + verifyRequest("DELETE", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.deleteJob", "JobService", "DeleteJob", null); } @Test - public void testGetQueryResults() throws Exception { + public void testGetQueryResultsTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); - rpc.getQueryResultsSkipExceptionTranslation( - "test-project", "test-job", "test-location", new HashMap<>()); + rpc.getQueryResultsSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/queries/" + JOB_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getQueryResults", "JobService", @@ -665,13 +762,13 @@ public void testGetQueryResults() throws Exception { } @Test - public void testGetQueryResultsWithRowLimit() throws Exception { + public void testGetQueryResultsWithRowLimitTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( - "test-project", "test-job", "test-location", 10, 1000L); + PROJECT_ID, JOB_ID, LOCATION, 10, 1000L); - verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/queries/" + JOB_ID); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getQueryResultsWithRowLimit", "JobService", @@ -680,24 +777,32 @@ public void testGetQueryResultsWithRowLimit() throws Exception { } @Test - public void testQueryRpc() throws Exception { + public void testQueryRpcTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); - rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); + rpc.queryRpcSkipExceptionTranslation(PROJECT_ID, new QueryRequest()); - verifyRequest("POST", "/projects/test-project/queries"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/queries"); verifySpan("com.google.cloud.bigquery.BigQueryRpc.queryRpc", "JobService", "Query", null); } @Test - public void testGetIamPolicy() throws Exception { + public void testGetIamPolicyTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", new HashMap<>()); + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, + new HashMap<>()); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:getIamPolicy"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":getIamPolicy"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.getIamPolicy", "TableService", @@ -706,16 +811,23 @@ public void testGetIamPolicy() throws Exception { } @Test - public void testSetIamPolicy() throws Exception { + public void testSetIamPolicyTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, new Policy(), new HashMap<>()); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:setIamPolicy"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":setIamPolicy"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", @@ -724,17 +836,23 @@ public void testSetIamPolicy() throws Exception { } @Test - public void testTestIamPermissions() throws Exception { + public void testTestIamPermissionsTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, Arrays.asList("p1", "p2"), new HashMap<>()); verifyRequest( "POST", - "/projects/test-project/datasets/test-dataset/tables/test-table:testIamPermissions"); + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":testIamPermissions"); verifySpan( "com.google.cloud.bigquery.BigQueryRpc.setIamPolicy", "TableService", @@ -753,431 +871,541 @@ public void setUp() { } @Test - public void testGetDataset() throws Exception { + public void testGetDatasetNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\",\"datasetReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\"}}"); - - rpc.getDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); - - verifyRequest("GET", "/projects/test-project/datasets/test-dataset"); + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "\",\"datasetReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\"}}"); + + rpc.getDatasetSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); + + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifyNoSpans(); } @Test - public void testListDatasets() throws Exception { + public void testListDatasetsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#datasetList\",\"datasets\":[]}"); - rpc.listDatasetsSkipExceptionTranslation("test-project", new HashMap<>()); + rpc.listDatasetsSkipExceptionTranslation(PROJECT_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets"); verifyNoSpans(); } @Test - public void testCreateDataset() throws Exception { - setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + public void testCreateDatasetNoTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + PROJECT_ID + ":" + DATASET_ID + "\"}"); Dataset dataset = new Dataset(); dataset.setDatasetReference( - new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + new DatasetReference().setProjectId(PROJECT_ID).setDatasetId(DATASET_ID)); rpc.createSkipExceptionTranslation(dataset, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets"); verifyNoSpans(); } @Test - public void testDeleteDataset() throws Exception { + public void testDeleteDatasetNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteDatasetSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.deleteDatasetSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset"); + verifyRequest("DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifyNoSpans(); } @Test - public void testPatchDataset() throws Exception { - setMockResponse("{\"kind\":\"bigquery#dataset\",\"id\":\"test-project:test-dataset\"}"); + public void testPatchDatasetNoTelemetry() throws Exception { + setMockResponse( + "{\"kind\":\"bigquery#dataset\",\"id\":\"" + PROJECT_ID + ":" + DATASET_ID + "\"}"); Dataset dataset = new Dataset(); dataset.setDatasetReference( - new DatasetReference().setProjectId("test-project").setDatasetId("test-dataset")); + new DatasetReference().setProjectId(PROJECT_ID).setDatasetId(DATASET_ID)); rpc.patchSkipExceptionTranslation(dataset, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset"); + verifyRequest("PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID); verifyNoSpans(); } @Test - public void testGetTable() throws Exception { + public void testGetTableNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); - rpc.getTableSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", new HashMap<>()); + rpc.getTableSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifyNoSpans(); } @Test - public void testListTables() throws Exception { + public void testListTablesNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableList\",\"tables\":[]}"); - rpc.listTablesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listTablesSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables"); verifyNoSpans(); } @Test - public void testCreateTable() throws Exception { + public void testCreateTableNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); Table table = new Table(); table.setTableReference( new TableReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setTableId("test-table")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setTableId(TABLE_ID)); rpc.createSkipExceptionTranslation(table, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets/test-dataset/tables"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables"); verifyNoSpans(); } @Test - public void testDeleteTable() throws Exception { + public void testDeleteTableNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteTableSkipExceptionTranslation("test-project", "test-dataset", "test-table"); + rpc.deleteTableSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifyNoSpans(); } @Test - public void testPatchTable() throws Exception { + public void testPatchTableNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#table\",\"id\":\"test-project:test-dataset.test-table\"}"); + "{\"kind\":\"bigquery#table\",\"id\":\"" + + PROJECT_ID + + ":" + + DATASET_ID + + "." + + TABLE_ID + + "\"}"); Table table = new Table(); table.setTableReference( new TableReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setTableId("test-table")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setTableId(TABLE_ID)); rpc.patchSkipExceptionTranslation(table, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/tables/test-table"); + verifyRequest( + "PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID); verifyNoSpans(); } @Test - public void testGetModel() throws Exception { + public void testGetModelNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"modelId\":\"" + + MODEL_ID + + "\"}}"); - rpc.getModelSkipExceptionTranslation( - "test-project", "test-dataset", "test-model", new HashMap<>()); + rpc.getModelSkipExceptionTranslation(PROJECT_ID, DATASET_ID, MODEL_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifyNoSpans(); } @Test - public void testListModels() throws Exception { + public void testListModelsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#modelList\",\"models\":[]}"); - rpc.listModelsSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listModelsSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/models"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models"); verifyNoSpans(); } @Test - public void testPatchModel() throws Exception { + public void testPatchModelNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"modelId\":\"test-model\"}}"); + "{\"kind\":\"bigquery#model\",\"modelReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"modelId\":\"" + + MODEL_ID + + "\"}}"); Model model = new Model(); model.setModelReference( new ModelReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setModelId("test-model")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setModelId(MODEL_ID)); rpc.patchSkipExceptionTranslation(model, new HashMap<>()); - verifyRequest("PATCH", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "PATCH", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifyNoSpans(); } @Test - public void testDeleteModel() throws Exception { + public void testDeleteModelNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteModelSkipExceptionTranslation("test-project", "test-dataset", "test-model"); + rpc.deleteModelSkipExceptionTranslation(PROJECT_ID, DATASET_ID, MODEL_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/models/test-model"); + verifyRequest( + "DELETE", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/models/" + MODEL_ID); verifyNoSpans(); } @Test - public void testGetRoutine() throws Exception { + public void testGetRoutineNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); - rpc.getRoutineSkipExceptionTranslation( - "test-project", "test-dataset", "test-routine", new HashMap<>()); + rpc.getRoutineSkipExceptionTranslation(PROJECT_ID, DATASET_ID, ROUTINE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifyNoSpans(); } @Test - public void testListRoutines() throws Exception { + public void testListRoutinesNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#routineList\",\"routines\":[]}"); - rpc.listRoutinesSkipExceptionTranslation("test-project", "test-dataset", new HashMap<>()); + rpc.listRoutinesSkipExceptionTranslation(PROJECT_ID, DATASET_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/routines"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines"); verifyNoSpans(); } @Test - public void testCreateRoutine() throws Exception { + public void testCreateRoutineNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); Routine routine = new Routine(); routine.setRoutineReference( new RoutineReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setRoutineId("test-routine")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setRoutineId(ROUTINE_ID)); rpc.createSkipExceptionTranslation(routine, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/datasets/test-dataset/routines"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines"); verifyNoSpans(); } @Test - public void testDeleteRoutine() throws Exception { + public void testDeleteRoutineNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteRoutineSkipExceptionTranslation("test-project", "test-dataset", "test-routine"); + rpc.deleteRoutineSkipExceptionTranslation(PROJECT_ID, DATASET_ID, ROUTINE_ID); - verifyRequest("DELETE", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "DELETE", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifyNoSpans(); } @Test - public void testUpdateRoutine() throws Exception { + public void testUpdateRoutineNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"test-project\",\"datasetId\":\"test-dataset\",\"routineId\":\"test-routine\"}}"); + "{\"kind\":\"bigquery#routine\",\"routineReference\":{\"projectId\":\"" + + PROJECT_ID + + "\",\"datasetId\":\"" + + DATASET_ID + + "\",\"routineId\":\"" + + ROUTINE_ID + + "\"}}"); Routine routine = new Routine(); routine.setRoutineReference( new RoutineReference() - .setProjectId("test-project") - .setDatasetId("test-dataset") - .setRoutineId("test-routine")); + .setProjectId(PROJECT_ID) + .setDatasetId(DATASET_ID) + .setRoutineId(ROUTINE_ID)); rpc.updateSkipExceptionTranslation(routine, new HashMap<>()); - verifyRequest("PUT", "/projects/test-project/datasets/test-dataset/routines/test-routine"); + verifyRequest( + "PUT", "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/routines/" + ROUTINE_ID); verifyNoSpans(); } @Test - public void testInsertAll() throws Exception { + public void testInsertAllNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataInsertAllResponse\"}"); TableDataInsertAllRequest request = new TableDataInsertAllRequest(); - rpc.insertAllSkipExceptionTranslation("test-project", "test-dataset", "test-table", request); + rpc.insertAllSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, request); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table/insertAll"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + "/insertAll"); verifyNoSpans(); } @Test - public void testListTableData() throws Exception { + public void testListTableDataNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); - rpc.listTableDataSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", new HashMap<>()); + rpc.listTableDataSkipExceptionTranslation(PROJECT_ID, DATASET_ID, TABLE_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyRequest( + "GET", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID + "/data"); verifyNoSpans(); } @Test - public void testListTableDataWithRowLimit() throws Exception { + public void testListTableDataWithRowLimitNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#tableDataList\",\"rows\":[]}"); rpc.listTableDataWithRowLimitSkipExceptionTranslation( - "test-project", "test-dataset", "test-table", 10, null); + PROJECT_ID, DATASET_ID, TABLE_ID, 10, null); - verifyRequest("GET", "/projects/test-project/datasets/test-dataset/tables/test-table/data"); + verifyRequest( + "GET", + "/projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID + "/data"); verifyNoSpans(); } @Test - public void testGetJob() throws Exception { + public void testGetJobNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); - rpc.getJobSkipExceptionTranslation( - "test-project", "test-job", "test-location", new HashMap<>()); + rpc.getJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); verifyNoSpans(); } @Test - public void testGetQueryJob() throws Exception { + public void testGetQueryJobNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); - rpc.getQueryJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.getQueryJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("GET", "/projects/test-project/jobs/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); verifyNoSpans(); } @Test - public void testListJobs() throws Exception { + public void testListJobsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobList\",\"jobs\":[]}"); - rpc.listJobsSkipExceptionTranslation("test-project", new HashMap<>()); + rpc.listJobsSkipExceptionTranslation(PROJECT_ID, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/jobs"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/jobs"); verifyNoSpans(); } @Test - public void testCreateJob() throws Exception { + public void testCreateJobNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); Job job = new Job(); - job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + job.setJobReference(new JobReference().setProjectId(PROJECT_ID).setJobId(JOB_ID)); rpc.createSkipExceptionTranslation(job, new HashMap<>()); - verifyRequest("POST", "/projects/test-project/jobs"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs"); verifyNoSpans(); } @Test - public void testCreateJobForQuery() throws Exception { + public void testCreateJobForQueryNoTelemetry() throws Exception { setMockResponse( - "{\"kind\":\"bigquery#job\",\"id\":\"test-project:test-job\",\"status\":{\"state\":\"DONE\"}}"); + "{\"kind\":\"bigquery#job\",\"id\":\"" + + PROJECT_ID + + ":" + + JOB_ID + + "\",\"status\":{\"state\":\"DONE\"}}"); Job job = new Job(); - job.setJobReference(new JobReference().setProjectId("test-project").setJobId("test-job")); + job.setJobReference(new JobReference().setProjectId(PROJECT_ID).setJobId(JOB_ID)); rpc.createJobForQuerySkipExceptionTranslation(job); - verifyRequest("POST", "/projects/test-project/jobs"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs"); verifyNoSpans(); } @Test - public void testCancelJob() throws Exception { + public void testCancelJobNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#jobCancelResponse\"}"); - rpc.cancelSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.cancelSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("POST", "/projects/test-project/jobs/test-job/cancel"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID + "/cancel"); verifyNoSpans(); } @Test - public void testDeleteJob() throws Exception { + public void testDeleteJobNoTelemetry() throws Exception { setMockResponse(""); mockResponse.setStatusCode(204); - rpc.deleteJobSkipExceptionTranslation("test-project", "test-job", "test-location"); + rpc.deleteJobSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION); - verifyRequest("DELETE", "/projects/test-project/jobs/test-job"); + verifyRequest("DELETE", "/projects/" + PROJECT_ID + "/jobs/" + JOB_ID); verifyNoSpans(); } @Test - public void testGetQueryResults() throws Exception { + public void testGetQueryResultsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); - rpc.getQueryResultsSkipExceptionTranslation( - "test-project", "test-job", "test-location", new HashMap<>()); + rpc.getQueryResultsSkipExceptionTranslation(PROJECT_ID, JOB_ID, LOCATION, new HashMap<>()); - verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/queries/" + JOB_ID); verifyNoSpans(); } @Test - public void testGetQueryResultsWithRowLimit() throws Exception { + public void testGetQueryResultsWithRowLimitNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#getQueryResultsResponse\"}"); rpc.getQueryResultsWithRowLimitSkipExceptionTranslation( - "test-project", "test-job", "test-location", 10, 1000L); + PROJECT_ID, JOB_ID, LOCATION, 10, 1000L); - verifyRequest("GET", "/projects/test-project/queries/test-job"); + verifyRequest("GET", "/projects/" + PROJECT_ID + "/queries/" + JOB_ID); verifyNoSpans(); } @Test - public void testQueryRpc() throws Exception { + public void testQueryRpcNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#queryResponse\"}"); - rpc.queryRpcSkipExceptionTranslation("test-project", new QueryRequest()); + rpc.queryRpcSkipExceptionTranslation(PROJECT_ID, new QueryRequest()); - verifyRequest("POST", "/projects/test-project/queries"); + verifyRequest("POST", "/projects/" + PROJECT_ID + "/queries"); verifyNoSpans(); } @Test - public void testGetIamPolicy() throws Exception { + public void testGetIamPolicyNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.getIamPolicySkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", new HashMap<>()); + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, + new HashMap<>()); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:getIamPolicy"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":getIamPolicy"); verifyNoSpans(); } @Test - public void testSetIamPolicy() throws Exception { + public void testSetIamPolicyNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#policy\"}"); rpc.setIamPolicySkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, new Policy(), new HashMap<>()); verifyRequest( - "POST", "/projects/test-project/datasets/test-dataset/tables/test-table:setIamPolicy"); + "POST", + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":setIamPolicy"); verifyNoSpans(); } @Test - public void testTestIamPermissions() throws Exception { + public void testTestIamPermissionsNoTelemetry() throws Exception { setMockResponse("{\"kind\":\"bigquery#testIamPermissionsResponse\"}"); rpc.testIamPermissionsSkipExceptionTranslation( - "projects/test-project/datasets/test-dataset/tables/test-table", + "projects/" + PROJECT_ID + "/datasets/" + DATASET_ID + "/tables/" + TABLE_ID, Arrays.asList("p1", "p2"), new HashMap<>()); verifyRequest( "POST", - "/projects/test-project/datasets/test-dataset/tables/test-table:testIamPermissions"); + "/projects/" + + PROJECT_ID + + "/datasets/" + + DATASET_ID + + "/tables/" + + TABLE_ID + + ":testIamPermissions"); verifyNoSpans(); } } From 04a91981387fa5ba01116c3450fd950f1ab20dc4 Mon Sep 17 00:00:00 2001 From: ldetmer Date: Thu, 12 Mar 2026 16:32:38 -0400 Subject: [PATCH 6/6] do not spin up server for tests that don't require it --- .../google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java index ee77d38f72f5..30f3d4a53b2f 100644 --- a/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java +++ b/java-bigquery/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/spi/v2/HttpBigQueryRpcTest.java @@ -77,8 +77,7 @@ public class HttpBigQueryRpcTest { private Tracer tracer; private HttpTransport mockTransport; - @BeforeEach - public void setUp() { + public void setUpServer() { spanExporter = InMemorySpanExporter.create(); SdkTracerProvider tracerProvider = SdkTracerProvider.builder() @@ -189,6 +188,7 @@ class TelemetryEnabled { @BeforeEach public void setUp() { + setUpServer(); rpc = createRpc(true); } @@ -867,6 +867,7 @@ class TelemetryDisabled { @BeforeEach public void setUp() { + setUpServer(); rpc = createRpc(false); }