diff --git a/airflow/providers/google/cloud/operators/bigquery.py b/airflow/providers/google/cloud/operators/bigquery.py index 33e51833e59a6..497385f121aa0 100644 --- a/airflow/providers/google/cloud/operators/bigquery.py +++ b/airflow/providers/google/cloud/operators/bigquery.py @@ -893,10 +893,15 @@ def execute(self, context: Context): if not self.deferrable: self.log.info( - 'Fetching Data from %s.%s max results: %s', self.dataset_id, self.table_id, self.max_results + 'Fetching Data from %s.%s.%s max results: %s', + self.project_id, + self.dataset_id, + self.table_id, + self.max_results, ) if not self.selected_fields: schema: dict[str, list] = hook.get_schema( + project_id=self.project_id, dataset_id=self.dataset_id, table_id=self.table_id, ) diff --git a/tests/providers/google/cloud/operators/test_bigquery.py b/tests/providers/google/cloud/operators/test_bigquery.py index 26159620cd9aa..8396fab0e9d81 100644 --- a/tests/providers/google/cloud/operators/test_bigquery.py +++ b/tests/providers/google/cloud/operators/test_bigquery.py @@ -746,6 +746,33 @@ def test_execute(self, mock_hook): location=TEST_DATASET_LOCATION, ) + @mock.patch('airflow.providers.google.cloud.operators.bigquery.BigQueryHook') + def test_bigquery_getdata_operator_when_no_selected_fields(self, mock_hook): + + max_results = 100 + operator = BigQueryGetDataOperator( + task_id=TASK_ID, + dataset_id=TEST_DATASET, + table_id=TEST_TABLE_ID, + project_id=TEST_GCP_PROJECT_ID, + max_results=max_results, + location=TEST_DATASET_LOCATION, + ) + operator.execute(None) + + mock_hook.return_value.get_schema.assert_called_once_with( + project_id=TEST_GCP_PROJECT_ID, dataset_id=TEST_DATASET, table_id=TEST_TABLE_ID + ) + + mock_hook.return_value.list_rows.assert_called_once_with( + dataset_id=TEST_DATASET, + table_id=TEST_TABLE_ID, + project_id=TEST_GCP_PROJECT_ID, + max_results=max_results, + location=TEST_DATASET_LOCATION, + selected_fields=None, + ) + class TestBigQueryTableDeleteOperator(unittest.TestCase): @mock.patch('airflow.providers.google.cloud.operators.bigquery.BigQueryHook')