Skip to content

Commit

Permalink
Source Klaviyo: enable SAT high strictness (#21374)
Browse files Browse the repository at this point in the history
* Source Klaviyo: change configuration of acceptance-test-config.yml for high strictness

* Add metrics stream to configured_catalog, add metrics expected records

* Update future state

* Remove expected records for flows stream
  • Loading branch information
arsenlosenko authored Jan 13, 2023
1 parent e72cf09 commit 617c8d8
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
# See [Source Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/source-acceptance-tests-reference)
# for more information about how to configure these tests
connector_image: airbyte/source-klaviyo:dev
tests:
spec:
- spec_path: "source_klaviyo/spec.json"
connection:
- config_path: "secrets/config.json"
status: "succeed"
- config_path: "integration_tests/invalid_config.json"
status: "failed"
discovery:
- config_path: "secrets/config.json"
acceptance_tests:
basic_read:
- config_path: "secrets/config.json"
empty_streams: ["flows"]
configured_catalog_path: "integration_tests/configured_catalog.json"
tests:
- config_path: secrets/config.json
empty_streams:
- name: flows
bypass_reason: "the 'trigger' object may mutate often"
expect_records:
path: "integration_tests/expected_records.jsonl"
incremental:
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
future_state_path: "integration_tests/abnormal_state.json"
path: integration_tests/expected_records.jsonl
connection:
tests:
- config_path: secrets/config.json
status: succeed
- config_path: integration_tests/invalid_config.json
status: failed
discovery:
tests:
- config_path: secrets/config.json
full_refresh:
- config_path: "secrets/config.json"
- configured_catalog_path: "integration_tests/configured_catalog.json"
tests:
- config_path: secrets/config.json
- configured_catalog_path: integration_tests/configured_catalog.json
incremental:
tests:
- config_path: secrets/config.json
configured_catalog_path: integration_tests/configured_catalog.json
future_state:
future_state_path: integration_tests/abnormal_state.json
spec:
tests:
- spec_path: source_klaviyo/spec.json
connector_image: airbyte/source-klaviyo:dev
test_strictness_level: high
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,26 @@
"stream_state": { "created": "2120-10-10 00:00:00" },
"stream_descriptor": { "name": "flows" }
}
},
{
"type": "STREAM",
"stream": {
"stream_state": { "created": "2120-10-10 00:00:00" },
"stream_descriptor": { "name": "metrics" }
}
},
{
"type": "STREAM",
"stream": {
"stream_state": { "created": "2120-10-10 00:00:00" },
"stream_descriptor": { "name": "lists" }
}
},
{
"type": "STREAM",
"stream": {
"stream_state": { "created": "2120-10-10 00:00:00" },
"stream_descriptor": { "name": "campaigns" }
}
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,21 @@
"cursor_field": null,
"destination_sync_mode": "append",
"primary_key": [["id"]]
},
{
"stream": {
"name": "metrics",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_cursor": null,
"default_cursor_field": null,
"source_defined_primary_key": [["id"]],
"namespace": null
},
"sync_mode": "full_refresh",
"cursor_field": null,
"destination_sync_mode": "append",
"primary_key": [["id"]]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,6 @@
{"stream": "events", "data": {"object": "event", "id": "3qvdgr5Z", "statistic_id": "VFFb4u", "timestamp": 1621295124, "event_name": "Clicked Email", "event_properties": { "$event_id": "1621295124" }, "datetime": "2021-05-17 23:45:24+00:00", "uuid": "f2ed0200-b769-11eb-8001-b642ddab48ad", "person": { "object": "person", "id": "01F5YBGM7J4YD4P6EYK5Q87BG4", "$address1": "", "$address2": "", "$city": "Springfield", "$country": "", "$latitude": "", "$longitude": "", "$region": "Illinois", "$zip": "", "$last_name": "Last Name 1", "$title": "", "$organization": "", "$phone_number": "", "$email": "[email protected]", "$first_name": "First Name 1", "$timezone": "", "$id": "", "email": "[email protected]", "first_name": "First Name 1", "last_name": "Last Name 1", "created": "2021-05-17 23:45:25", "updated": "2021-05-17 23:45:26" }, "flow_id": null, "flow_message_id": null, "campaign_id": null }, "emitted_at": 1663367160652}
{"stream": "events", "data": {"object": "event", "id": "3qvdgBgK", "statistic_id": "VFFb4u", "timestamp": 1621295124, "event_name": "Clicked Email", "event_properties": { "$event_id": "1621295124" }, "datetime": "2021-05-17 23:45:24+00:00", "uuid": "f2ed0200-b769-11eb-8001-2006a2b2b6e7", "person": { "object": "person", "id": "01F5YBGMK62AJR0955G7NW6EP7", "$address1": "", "$address2": "", "$city": "Springfield", "$country": "", "$latitude": "", "$longitude": "", "$region": "Illinois", "$zip": "", "$last_name": "Last Name 2", "$title": "", "$organization": "", "$phone_number": "", "$email": "[email protected]", "$first_name": "First Name 2", "$timezone": "", "$id": "", "email": "[email protected]", "first_name": "First Name 2", "last_name": "Last Name 2", "created": "2021-05-17 23:45:25", "updated": "2021-05-17 23:45:38" }, "flow_id": null, "flow_message_id": null, "campaign_id": null }, "emitted_at": 1663367160652}
{"stream": "events", "data": {"object": "event", "id": "3qvdgs9P", "statistic_id": "VFFb4u", "timestamp": 1621295125, "event_name": "Clicked Email", "event_properties": { "$event_id": "1621295125" }, "datetime": "2021-05-17 23:45:25+00:00", "uuid": "f3859880-b769-11eb-8001-f6a061424b91", "person": { "object": "person", "id": "01F5YBGMK62AJR0955G7NW6EP7", "$address1": "", "$address2": "", "$city": "Springfield", "$country": "", "$latitude": "", "$longitude": "", "$region": "Illinois", "$zip": "", "$last_name": "Last Name 2", "$title": "", "$organization": "", "$phone_number": "", "$email": "[email protected]", "$first_name": "First Name 2", "$timezone": "", "$id": "", "email": "[email protected]", "first_name": "First Name 2", "last_name": "Last Name 2", "created": "2021-05-17 23:45:25", "updated": "2021-05-17 23:45:38" }, "flow_id": null, "flow_message_id": null, "campaign_id": null }, "emitted_at": 1663367160652}
{"stream": "flows", "data": {"object": "flow", "id": "VueJfU", "name": "Happy Birthday Email - Standard", "status": "manual", "archived": false, "trigger": {"type": "Date Based", "filter": null}, "customer_filter": null, "created": "2022-05-31T07:01:40+00:00", "updated": "2022-05-31T07:01:41+00:00"}, "emitted_at": 1663367161059}
{"stream": "flows", "data": {"object": "flow", "id": "U5LCpF", "name": "Welcome Series - Customer v. Non-Customer", "status": "live", "archived": false, "trigger": {"type": "Added to List", "filter": null, "list": {"id": "RnsiHB", "name": "Newsletter"}}, "customer_filter": null, "created": "2022-05-31T07:00:28+00:00", "updated": "2022-05-31T07:00:29+00:00"}, "emitted_at": 1663367161065}
{"stream": "flows", "data": {"object": "flow", "id": "VcNt87", "name": "Welcome Series - Standard (Email & SMS)", "status": "manual", "archived": false, "trigger": {"type": "Added to List", "filter": null, "list": {"id": "RnsiHB", "name": "Newsletter"}}, "customer_filter": null, "created": "2022-05-31T06:58:03+00:00", "updated": "2022-05-31T06:58:04+00:00"}, "emitted_at": 1663367161067}
{"stream": "flows", "data": {"object": "flow", "id": "Uxqqk4", "name": "Customer Thank You", "status": "live", "archived": false, "trigger": {"type": "Metric", "filter": null, "metric": {"id": "TspjNE", "name": "Placed Order"}}, "customer_filter": null, "created": "2022-05-31T06:55:43+00:00", "updated": "2022-05-31T06:55:44+00:00"}, "emitted_at": 1663367161068}
{"stream": "flows", "data": {"object": "flow", "id": "Ub7CPq", "name": "Browse Abandonment", "status": "manual", "archived": false, "trigger": {"type": "Metric", "filter": null, "metric": {"id": "YcDVHu", "name": "Viewed Product"}}, "customer_filter": {"stanzas": [{"criteria": [{"timeframe": "flow-start", "value": null, "use_value": false, "statistic": "SPnhc3", "operator": "eq-zero", "type": "customer-statistic-value"}]}, {"criteria": [{"timeframe": "flow-start", "value": null, "use_value": false, "statistic": "TspjNE", "operator": "eq-zero", "type": "customer-statistic-value"}]}, {"criteria": [{"operator": "neq", "timeframe_options": {"units": "day", "quantity": 30}, "type": "customer-in-flow", "timeframe": "in-the-last"}]}]}, "created": "2022-05-31T06:54:12+00:00", "updated": "2022-05-31T06:54:13+00:00"}, "emitted_at": 1663367161070}
{"stream": "flows", "data": {"object": "flow", "id": "Usr9XK", "name": "Welcome Series", "status": "live", "archived": false, "trigger": {"type": "Added to List", "filter": null, "list": {"id": "RgS4w6", "name": "Test5"}}, "customer_filter": {"stanzas": [{"criteria": [{"type": "customer-attribute", "key_type": "string", "operator": "eq", "value": "United States", "key": "$country"}]}]}, "created": "2022-05-31T06:51:39+00:00", "updated": "2022-05-31T06:52:14+00:00"}, "emitted_at": 1663367161070}
{"stream": "flows", "data": {"object": "flow", "id": "YfYbWb", "name": "Abandoned Cart", "status": "live", "archived": false, "trigger": {"type": "Metric", "filter": {"stanzas": [{"criteria": [{"type": "statistic-dimension", "operator": "gte", "dimension_type": "numeric", "statistic": "SPnhc3", "value": 1, "key": "Item Count"}]}]}, "metric": {"id": "SPnhc3", "name": "Checkout Started"}}, "customer_filter": {"stanzas": [{"criteria": [{"timeframe": "flow-start", "value": null, "statistic_exists": true, "use_value": false, "statistic": "TspjNE", "operator": "gt-zero", "type": "customer-statistic-value"}]}]}, "created": "2022-05-31T06:48:46+00:00", "updated": "2022-05-31T06:50:35+00:00"}, "emitted_at": 1663367161071}
{"stream": "global_exclusions", "data": {"object": "exclusion", "email": "[email protected]", "reason": "manually_excluded", "timestamp": "2021-05-18T01:20:01+00:00"}, "emitted_at": 1663367161413}
{"stream": "global_exclusions", "data": {"object": "exclusion", "email": "[email protected]", "reason": "manually_excluded", "timestamp": "2021-05-18T01:29:51+00:00"}, "emitted_at": 1663367161413}
{"stream": "lists", "data": {"object": "list", "id": "RnsiHB", "name": "Newsletter", "list_type": "list", "folder": null, "created": "2021-03-31T10:50:36+00:00", "updated": "2021-03-31T10:50:36+00:00", "person_count": 1}, "emitted_at": 1663367161878}
Expand Down Expand Up @@ -43,4 +36,31 @@
{"stream": "lists", "data": {"object": "list", "id": "SmDD4y", "name": "Test5__x", "list_type": "list", "folder": null, "created": "2021-11-16T14:24:32+00:00", "updated": "2021-11-16T14:24:32+00:00", "person_count": 0}, "emitted_at": 1663367161890}
{"stream": "lists", "data": {"object": "list", "id": "X7UeXn", "name": "Test5___", "list_type": "list", "folder": null, "created": "2021-11-16T14:24:34+00:00", "updated": "2021-11-16T14:24:34+00:00", "person_count": 1}, "emitted_at": 1663367161890}
{"stream": "lists", "data": {"object": "list", "id": "S8nmQ9", "name": "Test AAAB", "list_type": "list", "folder": null, "created": "2021-11-16T15:02:51+00:00", "updated": "2021-11-16T15:02:51+00:00", "person_count": 1}, "emitted_at": 1663367161890}
{"stream": "lists", "data": {"object": "list", "id": "SBYgiK", "name": "SMS Subscribers", "list_type": "list", "folder": null, "created": "2022-05-31T06:52:26+00:00", "updated": "2022-05-31T06:52:26+00:00", "person_count": 0}, "emitted_at": 1663367161890}
{"stream": "lists", "data": {"object": "list", "id": "SBYgiK", "name": "SMS Subscribers", "list_type": "list", "folder": null, "created": "2022-05-31T06:52:26+00:00", "updated": "2022-05-31T06:52:26+00:00", "person_count": 0}, "emitted_at": 1663367161890}
{"stream": "metrics", "data": {"object": "metric", "id": "RUQ6YQ", "name": "Active on Site", "integration": {"object": "integration", "id": "7FtS4J", "name": "API", "category": "API"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487216}
{"stream": "metrics", "data": {"object": "metric", "id": "Xi7Kwh", "name": "Bounced Email", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487221}
{"stream": "metrics", "data": {"object": "metric", "id": "VePdj9", "name": "Cancelled Order", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487222}
{"stream": "metrics", "data": {"object": "metric", "id": "SPnhc3", "name": "Checkout Started", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487223}
{"stream": "metrics", "data": {"object": "metric", "id": "SxR9Bt", "name": "Clicked Email", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487223}
{"stream": "metrics", "data": {"object": "metric", "id": "VFFb4u", "name": "Clicked Email", "integration": {"object": "integration", "id": "7FtS4J", "name": "API", "category": "API"}, "created": "2021-05-17T23:43:50+00:00", "updated": "2021-05-17T23:43:50+00:00"}, "emitted_at": 1673610487223}
{"stream": "metrics", "data": {"object": "metric", "id": "Y5TbbA", "name": "Clicked SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487224}
{"stream": "metrics", "data": {"object": "metric", "id": "VEsf4u", "name": "Consented to Receive SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487224}
{"stream": "metrics", "data": {"object": "metric", "id": "RhP4nd", "name": "Dropped Email", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487225}
{"stream": "metrics", "data": {"object": "metric", "id": "TeZiVn", "name": "Failed to deliver Automated Response SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487225}
{"stream": "metrics", "data": {"object": "metric", "id": "S5Au3w", "name": "Failed to Deliver SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487225}
{"stream": "metrics", "data": {"object": "metric", "id": "X3f6PC", "name": "Fulfilled Order", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487226}
{"stream": "metrics", "data": {"object": "metric", "id": "RcjEmN", "name": "Fulfilled Partial Order", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:45:47+00:00", "updated": "2022-05-31T06:45:47+00:00"}, "emitted_at": 1673610487226}
{"stream": "metrics", "data": {"object": "metric", "id": "THfYvj", "name": "Marked Email as Spam", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487226}
{"stream": "metrics", "data": {"object": "metric", "id": "Yy9QKx", "name": "Opened Email", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487227}
{"stream": "metrics", "data": {"object": "metric", "id": "RDXsib", "name": "Ordered Product", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487227}
{"stream": "metrics", "data": {"object": "metric", "id": "TspjNE", "name": "Placed Order", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487228}
{"stream": "metrics", "data": {"object": "metric", "id": "RszrqT", "name": "Received Automated Response SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487228}
{"stream": "metrics", "data": {"object": "metric", "id": "WKHXf4", "name": "Received Email", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487228}
{"stream": "metrics", "data": {"object": "metric", "id": "WhthF7", "name": "Received SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487229}
{"stream": "metrics", "data": {"object": "metric", "id": "R2WpFy", "name": "Refunded Order", "integration": {"object": "integration", "id": "0eMvjm", "name": "Shopify", "category": "eCommerce"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487229}
{"stream": "metrics", "data": {"object": "metric", "id": "XsS8yX", "name": "Sent SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487229}
{"stream": "metrics", "data": {"object": "metric", "id": "UBNaGw", "name": "Subscribed to Back in Stock", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487230}
{"stream": "metrics", "data": {"object": "metric", "id": "Tp8t7d", "name": "Subscribed to List", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-11-16T15:05:22+00:00", "updated": "2021-11-16T15:05:22+00:00"}, "emitted_at": 1673610487230}
{"stream": "metrics", "data": {"object": "metric", "id": "VvFRZN", "name": "Unsubscribed", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2021-03-31T10:50:37+00:00", "updated": "2021-03-31T10:50:37+00:00"}, "emitted_at": 1673610487231}
{"stream": "metrics", "data": {"object": "metric", "id": "TS2mxZ", "name": "Unsubscribed from SMS", "integration": {"object": "integration", "id": "0rG4eQ", "name": "Klaviyo", "category": "Internal"}, "created": "2022-05-31T06:52:24+00:00", "updated": "2022-05-31T06:52:24+00:00"}, "emitted_at": 1673610487231}
{"stream": "metrics", "data": {"object": "metric", "id": "YcDVHu", "name": "Viewed Product", "integration": {"object": "integration", "id": "7FtS4J", "name": "API", "category": "API"}, "created": "2022-05-31T06:36:45+00:00", "updated": "2022-05-31T06:36:45+00:00"}, "emitted_at": 1673610487232}

0 comments on commit 617c8d8

Please sign in to comment.