Skip to content

Commit acc9a31

Browse files
committed
fix: align Raw data API currency with Aggregate API
1 parent 40dbd03 commit acc9a31

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

airbyte-integrations/connectors/source-appsflyer/source_appsflyer/source.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ def request_params(
193193
params = super().request_params(stream_state, stream_slice, next_page_token)
194194
params["from"] = stream_slice.get(self.cursor_field).to_datetime_string()
195195
params["to"] = stream_slice.get(self.cursor_field + '_end').to_datetime_string()
196+
# use currency set in the app settings to align with aggregate api currency.
197+
params["currency"] = "preferred"
196198

197199
return params
198200

airbyte-integrations/connectors/source-appsflyer/unit_tests/test_incremental_streams.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,30 @@ def test_cursor_field(patch_incremental_base_class, mocker, class_, expected_cur
5656

5757

5858
@pytest.mark.parametrize(
59-
("class_", "cursor_field", "date_only", "additional_fields", "retargeting"),
59+
("class_", "cursor_field", "date_only", "additional_fields", "retargeting", "currency"),
6060
[
61-
(InAppEvents, "event_time", False, fields.raw_data.additional_fields, None),
62-
(RetargetingInAppEvents, "event_time", False, fields.raw_data.additional_fields, True),
63-
(UninstallEvents, "event_time", False, fields.uninstall_events.additional_fields, None),
64-
(Installs, "install_time", False, fields.raw_data.additional_fields, None),
65-
(RetargetingConversions, "install_time", False, fields.raw_data.additional_fields, True),
66-
(PartnersReport, "date", True, None, None),
67-
(DailyReport, "date", True, None, None),
68-
(GeoReport, "date", True, None, None),
69-
(RetargetingPartnersReport, "date", True, None, True),
70-
(RetargetingDailyReport, "date", True, None, True),
71-
(RetargetingGeoReport, "date", True, None, True),
61+
(InAppEvents, "event_time", False, fields.raw_data.additional_fields, None, "preferred"),
62+
(RetargetingInAppEvents, "event_time", False, fields.raw_data.additional_fields, True, "preferred"),
63+
(UninstallEvents, "event_time", False, fields.uninstall_events.additional_fields, None, "preferred"),
64+
(Installs, "install_time", False, fields.raw_data.additional_fields, None, "preferred"),
65+
(RetargetingConversions, "install_time", False, fields.raw_data.additional_fields, True, "preferred"),
66+
(PartnersReport, "date", True, None, None, None),
67+
(DailyReport, "date", True, None, None, None),
68+
(GeoReport, "date", True, None, None, None),
69+
(RetargetingPartnersReport, "date", True, None, True, None),
70+
(RetargetingDailyReport, "date", True, None, True, None),
71+
(RetargetingGeoReport, "date", True, None, True, None),
7272
],
7373
)
74-
def test_request_params(mocker, class_, cursor_field, date_only, additional_fields, retargeting):
74+
def test_request_params(
75+
mocker,
76+
class_,
77+
cursor_field,
78+
date_only,
79+
additional_fields,
80+
retargeting,
81+
currency
82+
):
7583
timezone = "UTC"
7684
def __init__(self):
7785
self.api_token = "secret"
@@ -103,6 +111,8 @@ def __init__(self):
103111
expected_params["additional_fields"] = (",").join(additional_fields)
104112
if retargeting:
105113
expected_params["reattr"] = retargeting
114+
if currency:
115+
expected_params["currency"] = currency
106116
assert stream.request_params(**inputs) == expected_params
107117

108118

0 commit comments

Comments
 (0)