From 042c4ffa2efb81343540bbe50c8977f5e1c3ecae Mon Sep 17 00:00:00 2001 From: stephwang Date: Wed, 12 Feb 2020 11:21:07 -0500 Subject: [PATCH 1/2] samples: getTable --- .../java/com/example/bigquery/GetTable.java | 50 +++++++++++++++++++ .../java/com/example/bigquery/GetTableIT.java | 49 ++++++++++++++++++ .../com/example/bigquery/ListDatasetsIT.java | 2 +- 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 samples/src/main/java/com/example/bigquery/GetTable.java create mode 100644 samples/src/test/java/com/example/bigquery/GetTableIT.java diff --git a/samples/src/main/java/com/example/bigquery/GetTable.java b/samples/src/main/java/com/example/bigquery/GetTable.java new file mode 100644 index 000000000..2dd120fdb --- /dev/null +++ b/samples/src/main/java/com/example/bigquery/GetTable.java @@ -0,0 +1,50 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.bigquery; + +// [START bigquery_get_table] +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryException; +import com.google.cloud.bigquery.BigQueryOptions; +import com.google.cloud.bigquery.Table; +import com.google.cloud.bigquery.TableId; + +public class GetTable { + + public static void runGetTable() { + // TODO(developer): Replace these variables before running the sample. + String projectId = "bigquery_public_data"; + String datasetName = "samples"; + String tableName = "shakespeare"; + getTable(projectId, datasetName, tableName); + } + + public static void getTable(String projectId, String datasetName, String tableName) { + try { + // Initialize client that will be used to send requests. This client only needs to be created + // once, and can be reused for multiple requests. + BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService(); + TableId tableId = TableId.of(projectId, datasetName, tableName); + Table table = bigquery.getTable(tableId); + System.out.println("Table info: " + table.getDescription()); + System.out.println("Table retrieved successfully."); + } catch (BigQueryException e) { + System.out.println("Table not retrieved. \n" + e.toString()); + } + } +} +// [END bigquery_get_table] diff --git a/samples/src/test/java/com/example/bigquery/GetTableIT.java b/samples/src/test/java/com/example/bigquery/GetTableIT.java new file mode 100644 index 000000000..48f520c4b --- /dev/null +++ b/samples/src/test/java/com/example/bigquery/GetTableIT.java @@ -0,0 +1,49 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.bigquery; + +import static com.google.common.truth.Truth.assertThat; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class GetTableIT { + private ByteArrayOutputStream bout; + private PrintStream out; + + @Before + public void setUp() throws Exception { + bout = new ByteArrayOutputStream(); + out = new PrintStream(bout); + System.setOut(out); + } + + @After + public void tearDown() { + System.setOut(null); + } + + @Test + public void testGetTable() { + // Get shakespeare table from bigquery-public-data:samples dataset + GetTable.getTable("bigquery-public-data", "samples", "shakespeare"); + assertThat(bout.toString()).contains("Table retrieved successfully."); + } +} diff --git a/samples/src/test/java/com/example/bigquery/ListDatasetsIT.java b/samples/src/test/java/com/example/bigquery/ListDatasetsIT.java index 6e44e599b..617246ff9 100644 --- a/samples/src/test/java/com/example/bigquery/ListDatasetsIT.java +++ b/samples/src/test/java/com/example/bigquery/ListDatasetsIT.java @@ -41,7 +41,7 @@ public void tearDown() { } @Test - public void listDatasets() { + public void testListDatasets() { // List datasets in bigquery-public-data project ListDatasets.listDatasets("bigquery-public-data"); assertThat(bout.toString()).contains("Success! Dataset ID"); From e80f8a7f1c9055aa00b529522cecd4b8b7d6d4f1 Mon Sep 17 00:00:00 2001 From: stephwang Date: Wed, 12 Feb 2020 13:48:13 -0500 Subject: [PATCH 2/2] nit updates --- samples/src/main/java/com/example/bigquery/GetTable.java | 2 +- samples/src/test/java/com/example/bigquery/GetTableIT.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/src/main/java/com/example/bigquery/GetTable.java b/samples/src/main/java/com/example/bigquery/GetTable.java index 2dd120fdb..d9b471631 100644 --- a/samples/src/main/java/com/example/bigquery/GetTable.java +++ b/samples/src/main/java/com/example/bigquery/GetTable.java @@ -38,10 +38,10 @@ public static void getTable(String projectId, String datasetName, String tableNa // Initialize client that will be used to send requests. This client only needs to be created // once, and can be reused for multiple requests. BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService(); + TableId tableId = TableId.of(projectId, datasetName, tableName); Table table = bigquery.getTable(tableId); System.out.println("Table info: " + table.getDescription()); - System.out.println("Table retrieved successfully."); } catch (BigQueryException e) { System.out.println("Table not retrieved. \n" + e.toString()); } diff --git a/samples/src/test/java/com/example/bigquery/GetTableIT.java b/samples/src/test/java/com/example/bigquery/GetTableIT.java index 48f520c4b..fafbbadb1 100644 --- a/samples/src/test/java/com/example/bigquery/GetTableIT.java +++ b/samples/src/test/java/com/example/bigquery/GetTableIT.java @@ -44,6 +44,6 @@ public void tearDown() { public void testGetTable() { // Get shakespeare table from bigquery-public-data:samples dataset GetTable.getTable("bigquery-public-data", "samples", "shakespeare"); - assertThat(bout.toString()).contains("Table retrieved successfully."); + assertThat(bout.toString()).contains("Table info:"); } }