def test_execute(self, mock_gcs_hook, mock_ads_hook): mock_ads_hook.return_value.bulk_facebook_report.return_value = FACEBOOK_RETURN_VALUE op = FacebookAdsReportToGcsOperator( facebook_conn_id=FACEBOOK_ADS_CONN_ID, fields=FIELDS, params=PARAMS, object_name=GCS_OBJ_PATH, bucket_name=GCS_BUCKET, task_id="run_operator", impersonation_chain=IMPERSONATION_CHAIN, ) op.execute({}) mock_ads_hook.assert_called_once_with( facebook_conn_id=FACEBOOK_ADS_CONN_ID, api_version=API_VERSION) mock_ads_hook.return_value.bulk_facebook_report.assert_called_once_with( params=PARAMS, fields=FIELDS) mock_gcs_hook.assert_called_once_with( gcp_conn_id=GCS_CONN_ID, impersonation_chain=IMPERSONATION_CHAIN, ) mock_gcs_hook.return_value.upload.assert_called_once_with( bucket_name=GCS_BUCKET, object_name=GCS_OBJ_PATH, filename=mock.ANY, gzip=False)
table_id=TABLE_NAME, schema_fields=[ {'name': 'campaign_name', 'type': 'STRING', 'mode': 'NULLABLE'}, {'name': 'campaign_id', 'type': 'STRING', 'mode': 'NULLABLE'}, {'name': 'ad_id', 'type': 'STRING', 'mode': 'NULLABLE'}, {'name': 'clicks', 'type': 'STRING', 'mode': 'NULLABLE'}, {'name': 'impressions', 'type': 'STRING', 'mode': 'NULLABLE'}, ], ) # [START howto_operator_facebook_ads_to_gcs] run_operator = FacebookAdsReportToGcsOperator( task_id='run_fetch_data', owner='airflow', bucket_name=GCS_BUCKET, parameters=PARAMETERS, fields=FIELDS, gcp_conn_id=GCS_CONN_ID, object_name=GCS_OBJ_PATH, ) # [END howto_operator_facebook_ads_to_gcs] load_csv = GCSToBigQueryOperator( task_id='gcs_to_bq_example', bucket=GCS_BUCKET, source_objects=[GCS_OBJ_PATH], destination_project_dataset_table=f"{DATASET_NAME}.{TABLE_NAME}", write_disposition='WRITE_TRUNCATE', ) read_data_from_gcs_many_chunks = BigQueryInsertJobOperator(