def stream_instance(query, api_mock, **kwargs): start_date = "2021-03-04" conversion_window_days = 14 instance = CustomQuery( api=api_mock, conversion_window_days=conversion_window_days, start_date=start_date, custom_query_config={ "query": query, "table_name": "whatever_table" }, **kwargs, ) return instance
def get_instance_from_config(config, query): start_date = "2021-03-04" conversion_window_days = 14 google_api = GoogleAds(credentials=config["credentials"], customer_id=config["customer_id"]) instance = CustomQuery( api=google_api, conversion_window_days=conversion_window_days, start_date=start_date, custom_query_config={ "query": query, "table_name": "whatever_table" }, ) return instance
def test_custom_query(): input_q = """SELECT ad_group.resource_name, ad_group.status, ad_group.target_cpa_micros, ad_group.target_cpm_micros, ad_group.target_roas, ad_group.targeting_setting.target_restrictions, ad_group.tracking_url_template, ad_group.type, ad_group.url_custom_parameters, campaign.accessible_bidding_strategy, campaign.ad_serving_optimization_status, campaign.advertising_channel_type, campaign.advertising_channel_sub_type, campaign.app_campaign_setting.app_id, campaign.app_campaign_setting.app_store FROM search_term_view""" output_q = CustomQuery.insert_segments_date_expr(input_q, "1980-01-01", "1980-01-01") assert ( output_q == """SELECT ad_group.resource_name, ad_group.status, ad_group.target_cpa_micros, ad_group.target_cpm_micros, ad_group.target_roas, ad_group.targeting_setting.target_restrictions, ad_group.tracking_url_template, ad_group.type, ad_group.url_custom_parameters, campaign.accessible_bidding_strategy, campaign.ad_serving_optimization_status, campaign.advertising_channel_type, campaign.advertising_channel_sub_type, campaign.app_campaign_setting.app_id, campaign.app_campaign_setting.app_store , segments.date FROM search_term_view WHERE segments.date BETWEEN '1980-01-01' AND '1980-01-01' """)
def test_insert_date(original_query, expected_query): assert CustomQuery.insert_segments_date_expr( original_query, "1980-01-01", "2000-01-01") == expected_query
def test_get_query_fields(query, fields): assert CustomQuery.get_query_fields(query) == fields