You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by tu...@apache.org on 2020/05/29 15:04:05 UTC
[airflow] branch master updated: Added test for bigquery sensor
(#8986)
This is an automated email from the ASF dual-hosted git repository.
turbaszek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/master by this push:
new 3d3c042 Added test for bigquery sensor (#8986)
3d3c042 is described below
commit 3d3c0425b1e69bd60b9d0f01188eb1e906d5675c
Author: Joppe Vos <44...@users.noreply.github.com>
AuthorDate: Fri May 29 17:03:38 2020 +0200
Added test for bigquery sensor (#8986)
* added small test for bigquery sensor
* removed file from missing_test_files
---
.../google/cloud/sensors/test_bigquery.py | 53 ++++++++++++++++++++++
tests/test_project_structure.py | 1 -
2 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/tests/providers/google/cloud/sensors/test_bigquery.py b/tests/providers/google/cloud/sensors/test_bigquery.py
new file mode 100644
index 0000000..0c9735e
--- /dev/null
+++ b/tests/providers/google/cloud/sensors/test_bigquery.py
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+from unittest import TestCase, mock
+
+from airflow.providers.google.cloud.sensors.bigquery import BigQueryTableExistenceSensor
+
+TEST_PROJECT_ID = "test_project"
+TEST_DATASET_ID = 'test_dataset'
+TEST_TABLE_ID = 'test_table'
+TEST_DELEGATE_TO = "test_delegate_to"
+TEST_GCP_CONN_ID = 'test_gcp_conn_id'
+
+
+class TestBigqueryTableExistenceSensor(TestCase):
+ @mock.patch("airflow.providers.google.cloud.sensors.bigquery.BigQueryHook")
+ def test_passing_arguments_to_hook(self, mock_hook):
+ task = BigQueryTableExistenceSensor(
+ task_id='task-id',
+ project_id=TEST_PROJECT_ID,
+ dataset_id=TEST_DATASET_ID,
+ table_id=TEST_TABLE_ID,
+ bigquery_conn_id=TEST_GCP_CONN_ID,
+ delegate_to=TEST_DELEGATE_TO
+ )
+ mock_hook.return_value.table_exists.return_value = True
+ results = task.poke(mock.MagicMock())
+
+ self.assertEqual(True, results)
+
+ mock_hook.assert_called_once_with(
+ bigquery_conn_id=TEST_GCP_CONN_ID,
+ delegate_to=TEST_DELEGATE_TO
+ )
+ mock_hook.return_value.table_exists.assert_called_once_with(
+ TEST_PROJECT_ID,
+ TEST_DATASET_ID,
+ TEST_TABLE_ID
+ )
diff --git a/tests/test_project_structure.py b/tests/test_project_structure.py
index e8de166..5c34338 100644
--- a/tests/test_project_structure.py
+++ b/tests/test_project_structure.py
@@ -36,7 +36,6 @@ MISSING_TEST_FILES = {
'tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py',
'tests/providers/google/cloud/operators/test_datastore.py',
'tests/providers/google/cloud/operators/test_sql_to_gcs.py',
- 'tests/providers/google/cloud/sensors/test_bigquery.py',
'tests/providers/google/cloud/utils/test_field_sanitizer.py',
'tests/providers/google/cloud/utils/test_field_validator.py',
'tests/providers/google/cloud/utils/test_mlengine_operator_utils.py',