@mock.patch('airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job')
def test_run_extract(self, mock_insert):
    source_project_dataset_table = f'{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}'
    destination_cloud_storage_uris = ['gs://bucket/file.csv']
    expected_configuration = {'extract': {'sourceTable': {'projectId': PROJECT_ID, 'datasetId': DATASET_ID, 'tableId': TABLE_ID}, 'compression': 'NONE', 'destinationUris': destination_cloud_storage_uris, 'destinationFormat': 'CSV', 'fieldDelimiter': ',', 'printHeader': True}}
    self.hook.run_extract(source_project_dataset_table=source_project_dataset_table, destination_cloud_storage_uris=destination_cloud_storage_uris)
    mock_insert.assert_called_once_with(configuration=expected_configuration, project_id=PROJECT_ID)
@mock.patch('airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job')
def test_run_extract(self, mock_insert):
    source_project_dataset_table = f'{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}'
    destination_cloud_storage_uris = ['gs://bucket/file.csv']
    expected_configuration = {'extract': {'sourceTable': {'projectId': PROJECT_ID, 'datasetId': DATASET_ID, 'tableId': TABLE_ID}, 'compression': 'NONE', 'destinationUris': destination_cloud_storage_uris, 'destinationFormat': 'CSV', 'fieldDelimiter': ',', 'printHeader': True}}
    self.hook.run_extract(source_project_dataset_table=source_project_dataset_table, destination_cloud_storage_uris=destination_cloud_storage_uris)
    mock_insert.assert_called_once_with(configuration=expected_configuration, project_id=PROJECT_ID)