code: def test_get_openlineage_facets_on_complete_gcs_no_wildcard_empty_table(
      self, mock_hook
  ):
      source_project_dataset_table = (
          f"{PROJECT_ID}.{TEST_DATASET}.{TEST_TABLE_ID}"
      )
      destination_cloud_storage_uris = [
          f"gs://{TEST_BUCKET}/{TEST_FOLDER}/{TEST_OBJECT_NO_WILDCARD}"
      ]
      real_job_id = "123456_hash"
      bq_namespace = "bigquery"
  
      expected_input_facets = {
          "schema": SchemaDatasetFacet(fields=[]),
          "documentation": DocumentationDatasetFacet(description=""),
      }
  
      expected_output_facets = {
          "schema": SchemaDatasetFacet(fields=[]),
          "columnLineage": ColumnLineageDatasetFacet(fields={}),
      }
  
      mock_hook.return_value.split_tablename.return_value = (
          PROJECT_ID,
          TEST_DATASET,
          TEST_TABLE_ID,
      )
      mock_hook.return_value.insert_job.return_value = MagicMock(
          job_id=real_job_id, error_result=False
      )
      mock_hook.return_value.get_client.return_value.get_table.return_value = (
          TEST_EMPTY_TABLE
      )
  
      operator = BigQueryToGCSOperator(
          project_id=JOB_PROJECT_ID,
          task_id=TASK_ID,
          source_project_dataset_table=source_project_dataset_table,
          destination_cloud_storage_uris=destination_cloud_storage_uris,
      )
  
      operator.execute(context=mock.MagicMock())
  
      lineage = operator.get_openlineage_facets_on_complete(None)
      assert len(lineage.inputs) == 1
      assert len(lineage.outputs) == 1
      assert lineage.inputs[0] == Dataset(
          namespace=bq_namespace,
          name=source_project_dataset_table,
          facets=expected_input_facets,
      )
      assert lineage.outputs[0] == Dataset(
          namespace=f"gs://{TEST_BUCKET}",
          name=f"{TEST_FOLDER}/{TEST_OBJECT_NO_WILDCARD}",
          facets=expected_output_facets,
      )
      assert lineage.run_facets == {
          "externalQuery": ExternalQueryRunFacet(
              externalQueryId=real_job_id, source=bq_namespace
          )
      }
      assert lineage.job_facets == {}
  
file_path: airflow/tests/providers/google/cloud/transfers/test_bigquery_to_gcs.py
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import MagicMock
  import pytest
  from google.cloud.bigquery.retry import DEFAULT_RETRY
  from google.cloud.bigquery.table import Table
  from openlineage.client.facet import ColumnLineageDatasetFacet, ColumnLineageDatasetFacetFieldsAdditional, ColumnLineageDatasetFacetFieldsAdditionalInputFields, DocumentationDatasetFacet, ExternalQueryRunFacet, SchemaDatasetFacet, SchemaField, SymlinksDatasetFacet, SymlinksDatasetFacetIdentifiers
  from openlineage.client.run import Dataset
  from airflow.exceptions import TaskDeferred
  from airflow.providers.google.cloud.transfers.bigquery_to_gcs import BigQueryToGCSOperator
  from airflow.providers.google.cloud.triggers.bigquery import BigQueryInsertJobTrigger
label_desc: Use image node_id 7 for calling the TestBigQueryToGCSOperator obj's underlying member method code with example usage: obj.test_get_openlineage_facets_on_complete_gcs_no_wildcard_empty_table(mock_hook) without return types