Beispiel #1
0
    def test_prepare_template(self):
        report = {"key": "value"}
        with NamedTemporaryFile("w+", suffix=".json") as f:
            f.write(json.dumps(report))
            f.flush()
            op = GoogleSearchAdsInsertReportOperator(report=report,
                                                     api_version=API_VERSION,
                                                     task_id="test_task")
            op.prepare_template()

        assert isinstance(op.report, dict)
        assert op.report == report
Beispiel #2
0
 def test_execute(self, xcom_mock, mock_base_op, hook_mock):
     report = {"report": "test"}
     report_id = "TEST"
     hook_mock.return_value.insert_report.return_value = {"id": report_id}
     op = GoogleSearchAdsInsertReportOperator(
         report=report, api_version=API_VERSION, task_id="test_task"
     )
     op.execute(context=None)
     hook_mock.assert_called_once_with(
         gcp_conn_id=GCP_CONN_ID, delegate_to=None, api_version=API_VERSION
     )
     hook_mock.return_value.insert_report.assert_called_once_with(report=report)
     xcom_mock.assert_called_once_with(None, key="report_id", value=report_id)
Beispiel #3
0
    "includeRemovedEntities": False,
    "statisticsCurrency": "usd",
    "maxRowsPerFile": 1000000,
    "downloadFormat": "csv",
}
# [END howto_search_ads_env_variables]

default_args = {"start_date": dates.days_ago(1)}

with models.DAG(
        "example_search_ads",
        default_args=default_args,
        schedule_interval=None,  # Override to match your needs
) as dag:
    # [START howto_search_ads_generate_report_operator]
    generate_report = GoogleSearchAdsInsertReportOperator(
        report=REPORT, task_id="generate_report")
    # [END howto_search_ads_generate_report_operator]

    # [START howto_search_ads_get_report_id]
    report_id = "{{ task_instance.xcom_pull('generate_report', key='report_id') }}"
    # [END howto_search_ads_get_report_id]

    # [START howto_search_ads_get_report_operator]
    wait_for_report = GoogleSearchAdsReportSensor(report_id=report_id,
                                                  task_id="wait_for_report")
    # [END howto_search_ads_get_report_operator]

    # [START howto_search_ads_getfile_report_operator]
    download_report = GoogleSearchAdsDownloadReportOperator(
        report_id=report_id, bucket_name=GCS_BUCKET, task_id="download_report")
    # [END howto_search_ads_getfile_report_operator]