Skip to content

Commit 3532194

Browse files
Praful MakaniJesseLovelace
authored andcommitted
---
yaml --- r: 15965 b: refs/heads/autosynth-errorreporting c: 74a4517 h: refs/heads/master i: 15963: 826db28
1 parent 179d007 commit 3532194

3 files changed

Lines changed: 59 additions & 2 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ refs/heads/autosynth-bigtable-admin: 6379a2bc712f2736c83de0e009b4d26da4fa82ca
131131
refs/heads/autosynth-containeranalysis: 039ca5b8db725c76c16a965ff26b2774322b8ef8
132132
refs/heads/autosynth-datastore: 9acd400b484d6691a080c9152a331d88d24fefc1
133133
refs/heads/autosynth-dialogflow: d7477419376eac9b6dcc7dbcede581152527351d
134-
refs/heads/autosynth-errorreporting: bb3cfb437f216ca08f869f051a6cefd20a010e17
134+
refs/heads/autosynth-errorreporting: 74a4517cc99b2a3d5c3505baeb607e249f7aab82
135135
refs/heads/autosynth-firestore: 92b27fbc8855c9902168695abb0a8f1f433b750b
136136
refs/heads/autosynth-iot: 9d732be07d99843d8cb53d34ec0837328a807fce
137137
refs/heads/autosynth-kms: dcc6e15d68759010c8735cc868135bd7e6c1cc5f

branches/autosynth-errorreporting/google-cloud-clients/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,13 @@ public Table apply(com.google.api.services.bigquery.model.Table table) {
539539

540540
@Override
541541
public InsertAllResponse insertAll(InsertAllRequest request) {
542-
final TableId tableId = request.getTable().setProjectId(getOptions().getProjectId());
542+
final TableId tableId =
543+
request
544+
.getTable()
545+
.setProjectId(
546+
Strings.isNullOrEmpty(request.getTable().getProject())
547+
? getOptions().getProjectId()
548+
: request.getTable().getProject());
543549
final TableDataInsertAllRequest requestPb = new TableDataInsertAllRequest();
544550
requestPb.setIgnoreUnknownValues(request.ignoreUnknownValues());
545551
requestPb.setSkipInvalidRows(request.skipInvalidRows());

branches/autosynth-errorreporting/google-cloud-clients/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/BigQueryImplTest.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,57 @@ public TableDataInsertAllRequest.Rows apply(RowToInsert rowToInsert) {
945945
assertEquals("ErrorMessage", response.getErrorsFor(0L).get(0).getMessage());
946946
}
947947

948+
@Test
949+
public void testInsertAllWithProjectInTable() {
950+
Map<String, Object> row1 = ImmutableMap.<String, Object>of("field", "value1");
951+
Map<String, Object> row2 = ImmutableMap.<String, Object>of("field", "value2");
952+
List<RowToInsert> rows =
953+
ImmutableList.of(new RowToInsert("row1", row1), new RowToInsert("row2", row2));
954+
TableId tableId = TableId.of("project-different-from-option", DATASET, TABLE);
955+
InsertAllRequest request =
956+
InsertAllRequest.newBuilder(tableId)
957+
.setRows(rows)
958+
.setSkipInvalidRows(false)
959+
.setIgnoreUnknownValues(true)
960+
.setTemplateSuffix("suffix")
961+
.build();
962+
TableDataInsertAllRequest requestPb =
963+
new TableDataInsertAllRequest()
964+
.setRows(
965+
Lists.transform(
966+
rows,
967+
new Function<RowToInsert, TableDataInsertAllRequest.Rows>() {
968+
@Override
969+
public TableDataInsertAllRequest.Rows apply(RowToInsert rowToInsert) {
970+
return new TableDataInsertAllRequest.Rows()
971+
.setInsertId(rowToInsert.getId())
972+
.setJson(rowToInsert.getContent());
973+
}
974+
}))
975+
.setSkipInvalidRows(false)
976+
.setIgnoreUnknownValues(true)
977+
.setTemplateSuffix("suffix");
978+
TableDataInsertAllResponse responsePb =
979+
new TableDataInsertAllResponse()
980+
.setInsertErrors(
981+
ImmutableList.of(
982+
new TableDataInsertAllResponse.InsertErrors()
983+
.setIndex(0L)
984+
.setErrors(ImmutableList.of(new ErrorProto().setMessage("ErrorMessage")))));
985+
EasyMock.expect(
986+
bigqueryRpcMock.insertAll("project-different-from-option", DATASET, TABLE, requestPb))
987+
.andReturn(responsePb);
988+
EasyMock.replay(bigqueryRpcMock);
989+
BigQueryOptions bigQueryOptions =
990+
createBigQueryOptionsForProject(OTHER_PROJECT, rpcFactoryMock);
991+
bigquery = bigQueryOptions.getService();
992+
InsertAllResponse response = bigquery.insertAll(request);
993+
assertNotNull(response.getErrorsFor(0L));
994+
assertNull(response.getErrorsFor(1L));
995+
assertEquals(1, response.getErrorsFor(0L).size());
996+
assertEquals("ErrorMessage", response.getErrorsFor(0L).get(0).getMessage());
997+
}
998+
948999
@Test
9491000
public void testListTableData() {
9501001
EasyMock.expect(bigqueryRpcMock.listTableData(PROJECT, DATASET, TABLE, EMPTY_RPC_OPTIONS))

0 commit comments

Comments
 (0)