diff --git a/airbyte-integrations/connectors/source-klaviyo/source_klaviyo/components/archived_to_per_partition_state_migration.py b/airbyte-integrations/connectors/source-klaviyo/source_klaviyo/components/archived_to_per_partition_state_migration.py index ecb5e69539c60..b40322388b07c 100644 --- a/airbyte-integrations/connectors/source-klaviyo/source_klaviyo/components/archived_to_per_partition_state_migration.py +++ b/airbyte-integrations/connectors/source-klaviyo/source_klaviyo/components/archived_to_per_partition_state_migration.py @@ -10,8 +10,6 @@ from airbyte_cdk.sources.types import Config -ARCHIVED_SMS = {"archived": "true", "campaign_type": "sms"} -NOT_ARCHIVED_SMS = {"archived": "false", "campaign_type": "sms"} ARCHIVED_EMAIL = {"archived": "true", "campaign_type": "email"} NOT_ARCHIVED_EMAIL = {"archived": "false", "campaign_type": "email"} @@ -84,6 +82,7 @@ def migrate(self, stream_state: Mapping[str, Any]) -> Mapping[str, Any]: class CampaignsStateMigration(ArchivedToPerPartitionStateMigration): """ Campaigns stream has 2 partition field: archived and campaign_type(email, sms). + Previous API version didn't return sms in campaigns output so we need to migrate only email partition. Example input state: { @@ -93,18 +92,10 @@ class CampaignsStateMigration(ArchivedToPerPartitionStateMigration): } } Example output state: - { - "partition":{ "archived":"true","campaign_type":"sms" }, - "cursor":{ "updated_at":"2021-10-10T00:00:00+00:00" } - } { "partition":{ "archived":"true","campaign_type":"email" }, "cursor":{ "updated_at":"2021-10-10T00:00:00+00:00" } } - { - "partition":{ "archived":"false","campaign_type":"sms" }, - "cursor":{ "updated_at":"2020-10-10T00:00:00+00:00" } - } { "partition":{ "archived":"false","campaign_type":"email" }, "cursor":{ "updated_at":"2020-10-10T00:00:00+00:00" } @@ -119,8 +110,6 @@ def migrate(self, stream_state: Mapping[str, Any]) -> Mapping[str, Any]: migrated_stream_state = { "states": [ - {"partition": ARCHIVED_SMS, "cursor": {self._cursor.cursor_field: is_archived_updated_at}}, - {"partition": NOT_ARCHIVED_SMS, "cursor": {self._cursor.cursor_field: is_not_archived_updated_at}}, {"partition": ARCHIVED_EMAIL, "cursor": {self._cursor.cursor_field: is_archived_updated_at}}, {"partition": NOT_ARCHIVED_EMAIL, "cursor": {self._cursor.cursor_field: is_not_archived_updated_at}}, ] diff --git a/airbyte-integrations/connectors/source-klaviyo/unit_tests/test_campaigns_state_migration.py b/airbyte-integrations/connectors/source-klaviyo/unit_tests/test_campaigns_state_migration.py index 831d011e44f4d..086648c90ad51 100644 --- a/airbyte-integrations/connectors/source-klaviyo/unit_tests/test_campaigns_state_migration.py +++ b/airbyte-integrations/connectors/source-klaviyo/unit_tests/test_campaigns_state_migration.py @@ -82,8 +82,6 @@ def test_migrate(state, expected_state): {"updated_at": "2120-10-10T00:00:00+00:00", "archived": {"updated_at": "2020-10-10T00:00:00+00:00"}}, { "states": [ - {"cursor": {"updated_at": "2020-10-10T00:00:00+00:00"}, "partition": {"archived": "true", "campaign_type": "sms"}}, - {"cursor": {"updated_at": "2120-10-10T00:00:00+00:00"}, "partition": {"archived": "false", "campaign_type": "sms"}}, {"cursor": {"updated_at": "2020-10-10T00:00:00+00:00"}, "partition": {"archived": "true", "campaign_type": "email"}}, {"cursor": {"updated_at": "2120-10-10T00:00:00+00:00"}, "partition": {"archived": "false", "campaign_type": "email"}}, ] @@ -93,8 +91,6 @@ def test_migrate(state, expected_state): {"archived": {"updated_at": "2020-10-10T00:00:00+00:00"}}, { "states": [ - {"cursor": {"updated_at": "2020-10-10T00:00:00+00:00"}, "partition": {"archived": "true", "campaign_type": "sms"}}, - {"cursor": {"updated_at": "2012-01-01T00:00:00Z"}, "partition": {"archived": "false", "campaign_type": "sms"}}, {"cursor": {"updated_at": "2020-10-10T00:00:00+00:00"}, "partition": {"archived": "true", "campaign_type": "email"}}, {"cursor": {"updated_at": "2012-01-01T00:00:00Z"}, "partition": {"archived": "false", "campaign_type": "email"}}, ] @@ -106,8 +102,6 @@ def test_migrate(state, expected_state): }, { "states": [ - {"cursor": {"updated_at": "2012-01-01T00:00:00Z"}, "partition": {"archived": "true", "campaign_type": "sms"}}, - {"cursor": {"updated_at": "2120-10-10T00:00:00+00:00"}, "partition": {"archived": "false", "campaign_type": "sms"}}, {"cursor": {"updated_at": "2012-01-01T00:00:00Z"}, "partition": {"archived": "true", "campaign_type": "email"}}, {"cursor": {"updated_at": "2120-10-10T00:00:00+00:00"}, "partition": {"archived": "false", "campaign_type": "email"}}, ]