|
25 | 25 | from datetime import date
|
26 | 26 | import pendulum
|
27 | 27 |
|
| 28 | +import pendulum |
28 | 29 | from source_google_ads.google_ads import GoogleAds
|
| 30 | +from source_google_ads.streams import IncrementalGoogleAdsStream, chunk_date_range |
29 | 31 |
|
30 | 32 | from source_google_ads.streams import chunk_date_range
|
31 | 33 | from source_google_ads.streams import IncrementalGoogleAdsStream
|
@@ -132,6 +134,23 @@ def test_get_date_params():
|
132 | 134 |
|
133 | 135 | assert mock_start_date == start_date and mock_end_date == end_date
|
134 | 136 |
|
| 137 | +def test_interval_chunking(): |
| 138 | + mock_intervals = [{"segments.date": "2021-05-18"}, {"segments.date": "2021-06-18"}, {"segments.date": "2021-07-18"}] |
| 139 | + intervals = chunk_date_range("2021-06-01", 14, "segments.date", "2021-08-15") |
| 140 | + |
| 141 | + assert mock_intervals == intervals |
| 142 | + |
| 143 | + |
| 144 | +def test_get_date_params(): |
| 145 | + mock_start_date = "2021-05-19" # Please note that this is equal to inputted stream_slice start date + 1 day |
| 146 | + mock_end_date = "2021-06-18" |
| 147 | + start_date, end_date = IncrementalGoogleAdsStream.get_date_params( |
| 148 | + stream_slice={"segments.date": "2021-05-18"}, cursor_field="segments.date", end_date=pendulum.parse("2021-08-15") |
| 149 | + ) |
| 150 | + |
| 151 | + assert mock_start_date == start_date and mock_end_date == end_date |
| 152 | + |
| 153 | + |
135 | 154 | def test_convert_schema_into_query():
|
136 | 155 | report_name = "ad_group_ad_report"
|
137 | 156 | query = "SELECT segment.date FROM ad_group_ad WHERE segments.date >= '2020-01-01' AND segments.date <= '2020-03-01' ORDER BY segments.date ASC"
|
|
0 commit comments