From df9e288a4c9e2229f9cbb87f8b215a5c1f750a99 Mon Sep 17 00:00:00 2001 From: Patrick Nilan Date: Wed, 29 Nov 2023 13:18:23 -0800 Subject: [PATCH] Source Typeform: Increase test coverage, add missing field to responses schema (#32745) Co-authored-by: Roman Yermilov [GL] <86300758+roman-yermilov-gl@users.noreply.github.com> Co-authored-by: Christo Grabowski <108154848+ChristoGrab@users.noreply.github.com> Co-authored-by: Anatolii Yatsuk <35109939+tolik0@users.noreply.github.com> Co-authored-by: Edward Gao --- .../integration_tests/expected_records.jsonl | 19 +++++-------------- .../connectors/source-typeform/metadata.yaml | 4 ++-- .../source_typeform/schemas/responses.json | 3 +++ .../test_form_id_partition_router.py | 19 ++++++++++++++++++- docs/integrations/sources/typeform.md | 5 +++-- 5 files changed, 31 insertions(+), 19 deletions(-) diff --git a/airbyte-integrations/connectors/source-typeform/integration_tests/expected_records.jsonl b/airbyte-integrations/connectors/source-typeform/integration_tests/expected_records.jsonl index bf37dab0f628..c24d2b0cbe90 100644 --- a/airbyte-integrations/connectors/source-typeform/integration_tests/expected_records.jsonl +++ b/airbyte-integrations/connectors/source-typeform/integration_tests/expected_records.jsonl @@ -1,18 +1,9 @@ {"stream": "forms", "data": {"id": "VWO7mLtl", "type": "quiz", "title": "Connector Extensibility meetup", "workspace": {"href": "https://api.typeform.com/workspaces/sDaAqs"}, "theme": {"href": "https://api.typeform.com/themes/qHWOQ7"}, "settings": {"language": "en", "progress_bar": "proportion", "meta": {"allow_indexing": false}, "hide_navigation": false, "is_public": true, "is_trial": false, "show_progress_bar": true, "show_typeform_branding": true, "are_uploads_public": false, "show_time_to_complete": true, "show_number_of_submissions": false, "show_cookie_consent": false, "show_question_number": true, "show_key_hint_on_choices": true, "autosave_progress": true, "free_form_navigation": false, "use_lead_qualification": false, "pro_subdomain_enabled": false, "capabilities": {"e2e_encryption": {"enabled": false, "modifiable": false}}}, "thankyou_screens": [{"id": "qvDqCNAHuIC8", "ref": "01GHC6KQ5Y0M8VN6XHVAG75J0G", "title": "", "type": "thankyou_screen", "properties": {"show_button": true, "share_icons": true, "button_mode": "default_redirect", "button_text": "Create a typeform"}}, {"id": "DefaultTyScreen", "ref": "default_tys", "title": "Thanks for completing this typeform\nNow *create your own* \u2014 it's free, easy, & beautiful", "type": "thankyou_screen", "properties": {"show_button": true, "share_icons": false, "button_mode": "default_redirect", "button_text": "Create a *typeform*"}, "attachment": {"type": "image", "href": "https://images.typeform.com/images/2dpnUBBkz2VN"}}], "fields": [{"id": "ZdzF0rrvsVdB", "title": "What times work for you to visit San Francisco to work with the team?", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM", "properties": {"randomize": false, "allow_multiple_selection": true, "allow_other_choice": true, "vertical_alignment": true, "choices": [{"id": "nLpt4rvNjFB3", "ref": "01GHC6KQ5Y155J0F550BGYYS1A", "label": "Dec 12-16"}, {"id": "4xpK9sqA06eL", "ref": "01GHC6KQ5YBATX0CFENVVB5BYG", "label": "Dec 19-23"}, {"id": "jQHb3mqslOsZ", "ref": "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "label": "Jan 9-14"}, {"id": "wS5FKMUnMgqR", "ref": "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "label": "Jan 16-20"}, {"id": "uvmLX80Loava", "ref": "8fffd3a8-1e96-421d-a605-a7029bd55e97", "label": "Jan 22-26"}, {"id": "7ubtgCrW2meb", "ref": "17403cc9-74cd-49d1-856a-be6662b3b497", "label": "Jan30 - Feb3"}, {"id": "51q0g4fTFtYc", "ref": "3a1295b4-97b9-4986-9c37-f1af1d72501d", "label": "Feb 6 - 11"}, {"id": "vi3iwtpETqlb", "ref": "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "label": "Feb 13-17"}, {"id": "iI0hDpta14Kk", "ref": "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee", "label": "Feb 19-24"}]}, "validations": {"required": false}, "type": "multiple_choice", "attachment": {"type": "image", "href": "https://images.typeform.com/images/WMALzu59xbXQ"}, "layout": {"type": "split", "attachment": {"type": "image", "href": "https://images.typeform.com/images/WMALzu59xbXQ"}}}], "created_at": "2022-11-08T18:04:03+00:00", "last_updated_at": "2022-11-08T21:10:54+00:00", "published_at": "2022-11-08T21:10:54+00:00", "_links": {"display": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "responses": "https://api.typeform.com/forms/VWO7mLtl/responses"}}, "emitted_at": 1686590629013} -{"stream": "responses", "data": {"landing_id": "fr2wm964fnyxpdx9a8tfr2wmlph34hqi", "token": "fr2wm964fnyxpdx9a8tfr2wmlph34hqi", "response_id": "fr2wm964fnyxpdx9a8tfr2wmlph34hqi", "landed_at": "2022-11-08T21:59:53Z", "submitted_at": "2022-11-08T22:00:24Z", "metadata": {"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "8a0111039f", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["nLpt4rvNjFB3", "4xpK9sqA06eL", "jQHb3mqslOsZ", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "iI0hDpta14Kk"], "refs": ["01GHC6KQ5Y155J0F550BGYYS1A", "01GHC6KQ5YBATX0CFENVVB5BYG", "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Dec 12-16", "Dec 19-23", "Jan 9-14", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522222458} -{"stream": "responses", "data": {"landing_id": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "token": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "response_id": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "landed_at": "2022-11-08T22:08:39Z", "submitted_at": "2022-11-08T22:10:04Z", "metadata": {"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "d4b74277d2", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["nLpt4rvNjFB3", "wS5FKMUnMgqR", "jQHb3mqslOsZ", "51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk"], "refs": ["01GHC6KQ5Y155J0F550BGYYS1A", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Dec 12-16", "Jan 16-20", "Jan 9-14", "Feb 6 - 11", "Feb 13-17", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522222461} -{"stream": "responses", "data": {"landing_id": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "token": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "response_id": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "landed_at": "2022-11-09T06:16:08Z", "submitted_at": "2022-11-09T06:16:10Z", "metadata": {"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "2be9dd4bab", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["nLpt4rvNjFB3", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk"], "refs": ["01GHC6KQ5Y155J0F550BGYYS1A", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Dec 12-16", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 13-17", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522222826} -{"stream": "responses", "data": {"landing_id": "e7hli3wynwfkiwaebwe7h2aeeso4xrum", "token": "e7hli3wynwfkiwaebwe7h2aeeso4xrum", "response_id": "e7hli3wynwfkiwaebwe7h2aeeso4xrum", "landed_at": "2022-11-09T08:09:11Z", "submitted_at": "2022-11-09T08:33:38Z", "metadata": {"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Mobile/15E148 Safari/604.1", "platform": "mobile", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl?typeform-source=www.linkedin.com", "network_id": "fec8bf87e1", "browser": "touch"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["nLpt4rvNjFB3", "wS5FKMUnMgqR", "uvmLX80Loava"], "refs": ["01GHC6KQ5Y155J0F550BGYYS1A", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97"], "labels": ["Dec 12-16", "Jan 16-20", "Jan 22-26"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522222827} -{"stream": "responses", "data": {"landing_id": "r4epuzzxlonggr4epp07wenb3a58sm6h", "token": "r4epuzzxlonggr4epp07wenb3a58sm6h", "response_id": "r4epuzzxlonggr4epp07wenb3a58sm6h", "landed_at": "2022-11-09T14:33:46Z", "submitted_at": "2022-11-09T14:35:10Z", "metadata": {"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "7e338d2504", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk"], "refs": ["3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Feb 6 - 11", "Feb 13-17", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522223051} -{"stream": "responses", "data": {"landing_id": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "token": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "response_id": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "landed_at": "2022-11-15T02:31:04Z", "submitted_at": "2022-11-15T02:34:53Z", "metadata": {"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "8284380108", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["jQHb3mqslOsZ", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "iI0hDpta14Kk"], "refs": ["1c392fa3-e693-49fe-b334-3a5cddc1db6f", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Jan 9-14", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522223053} -{"stream": "responses", "data": {"landing_id": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "token": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "response_id": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "landed_at": "2022-11-15T02:36:40Z", "submitted_at": "2022-11-15T02:39:52Z", "metadata": {"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "8284380108", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM"}, "type": "choices", "choices": {"ids": ["jQHb3mqslOsZ", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "iI0hDpta14Kk"], "refs": ["1c392fa3-e693-49fe-b334-3a5cddc1db6f", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee"], "labels": ["Jan 9-14", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 19-24"]}}], "form_id": "VWO7mLtl"}, "emitted_at": 1687522223249} -{"stream": "responses", "data": {"landing_id": "w9yrjygpz00o1vop20h68tlw9yriwyqr", "token": "w9yrjygpz00o1vop20h68tlw9yriwyqr", "response_id": "w9yrjygpz00o1vop20h68tlw9yriwyqr", "landed_at": "2021-06-27T15:16:09Z", "submitted_at": "2021-06-27T15:18:12Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/SdMKQYkv", "network_id": "abd4cbf203", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "63WvXUnvSCa9", "type": "short_text", "ref": "ef34b985c51e4131"}, "type": "text", "text": "Mr X"}, {"field": {"id": "kwpFrd2lI3ok", "type": "email", "ref": "0c3cabd70157cf16"}, "type": "email", "email": "mrx@airbyte.com"}, {"field": {"id": "1Ua3d1mzhJwj", "type": "picture_choice", "ref": "7207397713e2b5e3"}, "type": "choice", "choice": {"id": "z5hxxjpJl07L", "ref": "bfcc3fbf608583f7", "label": "Yes"}}, {"field": {"id": "MmrPLXSaCF5B", "type": "short_text", "ref": "9aaaeeebe70858c4"}, "type": "text", "text": "water"}, {"field": {"id": "gurSOcuvNnvb", "type": "long_text", "ref": "18842abd9aa9ded4"}, "type": "text", "text": "do you know who I am ?"}], "form_id": "SdMKQYkv"}, "emitted_at": 1687522223916} -{"stream": "responses", "data": {"landing_id": "x9ege1s9u758nla0bx9ege1bg63u7daz", "token": "x9ege1s9u758nla0bx9ege1bg63u7daz", "response_id": "x9ege1s9u758nla0bx9ege1bg63u7daz", "landed_at": "2021-07-01T10:03:21Z", "submitted_at": "2021-07-01T10:04:01Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/kRt99jlK", "network_id": "32d3e45763", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "qthblBc7InVU", "type": "multiple_choice", "ref": "8267768033031e53"}, "type": "choice", "choice": {"id": "3XbsOhLiGFkv", "ref": "fc3c3f5dbe75a01e", "label": "Center-right party"}}, {"field": {"id": "rB7FJUThFlu4", "type": "picture_choice", "ref": "b13b02912db6f287"}, "type": "choice", "choice": {"id": "Jt8FTorS35Sb", "ref": "b99bb45c5b8c25be", "label": "Going in the wrong direction"}}, {"field": {"id": "vV7ISYSgZ94I", "type": "opinion_scale", "ref": "f1939629f760be75"}, "type": "number", "number": 1}, {"field": {"id": "Mrq4qNeRInni", "type": "picture_choice", "ref": "c52566d91c5052e2"}, "type": "choice", "choice": {"id": "szBe0vqnkCUK", "ref": "3f1692f85c3cd73b", "label": "Military & Defense"}}, {"field": {"id": "x9myjwStSn9a", "type": "rating", "ref": "55c2e5c15f7dccec"}, "type": "number", "number": 1}, {"field": {"id": "zaP8jDAArI5x", "type": "rating", "ref": "f853e99096a32208"}, "type": "number", "number": 1}, {"field": {"id": "VFmcjbHlFTzg", "type": "rating", "ref": "6f0fd734177ecf27"}, "type": "number", "number": 1}, {"field": {"id": "DgGh4ZkRBAyH", "type": "rating", "ref": "b4171ed292dc3cee"}, "type": "number", "number": 1}, {"field": {"id": "yC3UrwN1LKT8", "type": "rating", "ref": "c8dd7d63c26777d9"}, "type": "number", "number": 5}], "form_id": "kRt99jlK"}, "emitted_at": 1687522224466} -{"stream": "responses", "data": {"landing_id": "ohgpotzjg8w852pohgpo1ub0gq76tks2", "token": "ohgpotzjg8w852pohgpo1ub0gq76tks2", "response_id": "ohgpotzjg8w852pohgpo1ub0gq76tks2", "landed_at": "2021-06-20T16:49:16Z", "submitted_at": "2021-06-20T16:49:20Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/XtrcGoGJ", "network_id": "1866502915", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "8VK4KwNd0DgB", "type": "short_text", "ref": "01F8N53B7KPZ2A1DWGZTTK9SKG"}, "type": "text", "text": "11"}, {"field": {"id": "X6dq0mumvtKq", "type": "multiple_choice", "ref": "01F8N53B8293QHVDDHT84RZR6K"}, "type": "choice", "choice": {"id": "FWQrVLFdHroI", "ref": "01F8N53B82JXPXZ1B53BMJY0X2", "label": "Terrific!"}}], "form_id": "XtrcGoGJ"}, "emitted_at": 1687522225029} -{"stream": "responses", "data": {"landing_id": "74zhlkhbmspze5nllpl143674zhlkh81", "token": "74zhlkhbmspze5nllpl143674zhlkh81", "response_id": "74zhlkhbmspze5nllpl143674zhlkh81", "landed_at": "2021-06-27T15:32:07Z", "submitted_at": "2021-06-27T15:32:14Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/XtrcGoGJ", "network_id": "abd4cbf203", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "8VK4KwNd0DgB", "type": "short_text", "ref": "01F8N53B7KPZ2A1DWGZTTK9SKG"}, "type": "text", "text": "222"}, {"field": {"id": "X6dq0mumvtKq", "type": "multiple_choice", "ref": "01F8N53B8293QHVDDHT84RZR6K"}, "type": "choice", "choice": {"id": "7jNEfjJ2cDAl", "ref": "01F8N53B82RE3YZK7RR50KNRQ0", "label": "Not so well..."}}], "form_id": "XtrcGoGJ"}, "emitted_at": 1687522225029} -{"stream": "responses", "data": {"landing_id": "9f7s89wh4wagc4qbr1c9f7s89tr0cu6g", "token": "9f7s89wh4wagc4qbr1c9f7s89tr0cu6g", "response_id": "9f7s89wh4wagc4qbr1c9f7s89tr0cu6g", "landed_at": "2021-06-27T15:32:33Z", "submitted_at": "2021-06-27T15:32:39Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/XtrcGoGJ", "network_id": "abd4cbf203", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "8VK4KwNd0DgB", "type": "short_text", "ref": "01F8N53B7KPZ2A1DWGZTTK9SKG"}, "type": "text", "text": "There is a new library called furl. I find this library to be most pythonic for doing url algebra. To install:"}, {"field": {"id": "X6dq0mumvtKq", "type": "multiple_choice", "ref": "01F8N53B8293QHVDDHT84RZR6K"}, "type": "choice", "choice": {"id": "FWQrVLFdHroI", "ref": "01F8N53B82JXPXZ1B53BMJY0X2", "label": "Terrific!"}}], "form_id": "XtrcGoGJ"}, "emitted_at": 1687522225225} -{"stream": "responses", "data": {"landing_id": "zn4d1osa0ou5gitzn4k3e3am0c0q7vgd", "token": "zn4d1osa0ou5gitzn4k3e3am0c0q7vgd", "response_id": "zn4d1osa0ou5gitzn4k3e3am0c0q7vgd", "landed_at": "2021-07-01T14:06:57Z", "submitted_at": "2021-07-01T14:07:03Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/XtrcGoGJ", "network_id": "32d3e45763", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "8VK4KwNd0DgB", "type": "short_text", "ref": "01F8N53B7KPZ2A1DWGZTTK9SKG"}, "type": "text", "text": "124125125"}, {"field": {"id": "X6dq0mumvtKq", "type": "multiple_choice", "ref": "01F8N53B8293QHVDDHT84RZR6K"}, "type": "choice", "choice": {"id": "7jNEfjJ2cDAl", "ref": "01F8N53B82RE3YZK7RR50KNRQ0", "label": "Not so well..."}}], "form_id": "XtrcGoGJ"}, "emitted_at": 1687522225226} -{"stream": "responses", "data": {"landing_id": "s3ah741anof3uot3340qs3ah7q62w544", "token": "s3ah741anof3uot3340qs3ah7q62w544", "response_id": "s3ah741anof3uot3340qs3ah7q62w544", "landed_at": "2021-09-04T14:35:19Z", "submitted_at": "2021-09-04T14:35:30Z", "metadata": {"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/XtrcGoGJ", "network_id": "8c4966ac74", "browser": "default"}, "hidden": {}, "calculated": {"score": 0}, "answers": [{"field": {"id": "8VK4KwNd0DgB", "type": "short_text", "ref": "01F8N53B7KPZ2A1DWGZTTK9SKG"}, "type": "text", "text": "test123"}, {"field": {"id": "6lGZzhNfrqwB", "type": "multiple_choice", "ref": "43153da3-fbbc-443e-b66f-1752770c0e0a"}, "type": "choices", "choices": {"ids": ["03VP9UxCwCLT", "ELm7HbFr0OOq", "acwDGU8NeO2A", "3HfyxDo5JoXf"], "refs": ["27b8dfcb-ef16-4ad7-b2be-734ec24c34ca", "ce51ab49-2cce-490d-b831-309337c79fa0", "74ef0411-0c8a-4c09-a6f3-7a62b0745f68", "f83999f6-c869-47cc-af2f-f22b628a0fdb"], "labels": ["choice 4", "choice2", "choice1", "choice 3"]}}, {"field": {"id": "X6dq0mumvtKq", "type": "multiple_choice", "ref": "01F8N53B8293QHVDDHT84RZR6K"}, "type": "choice", "choice": {"id": "FWQrVLFdHroI", "ref": "01F8N53B82JXPXZ1B53BMJY0X2", "label": "Terrific!"}}], "form_id": "XtrcGoGJ"}, "emitted_at": 1687522225440} +{"stream": "responses", "data": { "landing_id": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "token": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "response_id": "ic7ydv73zomudp1p9ic7yp9spye7h72b", "response_type": "completed", "landed_at": "2022-11-15T02:31:04Z", "submitted_at": "2022-11-15T02:34:53Z", "metadata": { "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "8284380108", "browser": "default" }, "hidden": {}, "calculated": { "score": 0 }, "answers": [ { "field": { "id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM" }, "type": "choices", "choices": { "ids": [ "jQHb3mqslOsZ", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "iI0hDpta14Kk" ], "refs": [ "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee" ], "labels": [ "Jan 9-14", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 19-24" ] } } ], "form_id": "VWO7mLtl" }, "emitted_at": 1687522222458} +{"stream": "responses", "data": { "landing_id": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "token": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "response_id": "0dc8djmlrkmxuwu7s7mmia0dc8dj4a1r", "response_type": "completed", "landed_at": "2022-11-08T22:08:39Z", "submitted_at": "2022-11-08T22:10:04Z", "metadata": { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "d4b74277d2", "browser": "default" }, "hidden": {}, "calculated": { "score": 0 }, "answers": [ { "field": { "id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM" }, "type": "choices", "choices": { "ids": [ "nLpt4rvNjFB3", "wS5FKMUnMgqR", "jQHb3mqslOsZ", "51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk" ], "refs": [ "01GHC6KQ5Y155J0F550BGYYS1A", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee" ], "labels": [ "Dec 12-16", "Jan 16-20", "Jan 9-14", "Feb 6 - 11", "Feb 13-17", "Feb 19-24" ] } } ], "form_id": "VWO7mLtl" }, "emitted_at": 1687522222461} +{"stream": "responses", "data": { "landing_id": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "token": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "response_id": "ng2hh3i6cy7ikeyorbnl0ng2hh3icyvq", "response_type": "completed", "landed_at": "2022-11-09T06:16:08Z", "submitted_at": "2022-11-09T06:16:10Z", "metadata": { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "2be9dd4bab", "browser": "default" }, "hidden": {}, "calculated": { "score": 0 }, "answers": [ { "field": { "id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM" }, "type": "choices", "choices": { "ids": [ "nLpt4rvNjFB3", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk" ], "refs": [ "01GHC6KQ5Y155J0F550BGYYS1A", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee" ], "labels": [ "Dec 12-16", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 13-17", "Feb 19-24" ] } } ], "form_id": "VWO7mLtl" }, "emitted_at": 1687522222826} +{"stream": "responses", "data": { "landing_id": "r4epuzzxlonggr4epp07wenb3a58sm6h", "token": "r4epuzzxlonggr4epp07wenb3a58sm6h", "response_id": "r4epuzzxlonggr4epp07wenb3a58sm6h", "response_type": "completed", "landed_at": "2022-11-09T14:33:46Z", "submitted_at": "2022-11-09T14:35:10Z", "metadata": { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "7e338d2504", "browser": "default" }, "hidden": {}, "calculated": { "score": 0 }, "answers": [ { "field": { "id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM" }, "type": "choices", "choices": { "ids": [ "51q0g4fTFtYc", "vi3iwtpETqlb", "iI0hDpta14Kk" ], "refs": [ "3a1295b4-97b9-4986-9c37-f1af1d72501d", "54edf52a-c9c7-4bc4-a5a6-bd86115f5adb", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee" ], "labels": [ "Feb 6 - 11", "Feb 13-17", "Feb 19-24" ] } } ], "form_id": "VWO7mLtl" }, "emitted_at": 1687522222827} +{"stream": "responses", "data": { "landing_id": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "token": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "response_id": "trdyqvm2wmf9b0dhoostrdtugo8fdcoa", "response_type": "completed", "landed_at": "2022-11-15T02:36:40Z", "submitted_at": "2022-11-15T02:39:52Z", "metadata": { "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "platform": "other", "referer": "https://xe03v5buli4.typeform.com/to/VWO7mLtl", "network_id": "8284380108", "browser": "default" }, "hidden": {}, "calculated": { "score": 0 }, "answers": [ { "field": { "id": "ZdzF0rrvsVdB", "type": "multiple_choice", "ref": "01GHC6KQ5Y6S9ZQH5CHKZPT1RM" }, "type": "choices", "choices": { "ids": [ "jQHb3mqslOsZ", "wS5FKMUnMgqR", "uvmLX80Loava", "7ubtgCrW2meb", "51q0g4fTFtYc", "iI0hDpta14Kk" ], "refs": [ "1c392fa3-e693-49fe-b334-3a5cddc1db6f", "2ac396a3-1b8e-4e56-b36d-d1f27c1b834d", "8fffd3a8-1e96-421d-a605-a7029bd55e97", "17403cc9-74cd-49d1-856a-be6662b3b497", "3a1295b4-97b9-4986-9c37-f1af1d72501d", "e149c19f-8b61-4ff0-a17a-e9e65c3a8fee" ], "labels": [ "Jan 9-14", "Jan 16-20", "Jan 22-26", "Jan30 - Feb3", "Feb 6 - 11", "Feb 19-24" ] } } ], "form_id": "VWO7mLtl" }, "emitted_at": 1687522223051} {"stream":"workspaces","data":{"default":false,"forms":{"count":4,"href":"https://api.typeform.com/forms?workspace_id=sDaAqs"},"id":"sDaAqs","name":"My workspace","account_id":"01F8CZR731ZFGBGBEKHMFD5J6Y","self":{"href":"https://api.typeform.com/workspaces/sDaAqs"},"shared":false},"emitted_at":1673035162976} {"stream":"images","data":{"id":"JD76sXLuakwc","src":"https://images.typeform.com/images/JD76sXLuakwc","file_name":"1200x1200 logo.png","width":1200,"height":1200,"media_type":"image/png","has_alpha":true,"avg_color":"d1cbfe"},"emitted_at":1673035163945} {"stream":"images","data":{"id":"D7r8BDHAa5ac","src":"https://images.typeform.com/images/D7r8BDHAa5ac","file_name":"1200x1200 logo.png","width":1200,"height":1200,"media_type":"image/png","has_alpha":true,"avg_color":"d1cbfe"},"emitted_at":1673035163946} diff --git a/airbyte-integrations/connectors/source-typeform/metadata.yaml b/airbyte-integrations/connectors/source-typeform/metadata.yaml index bfd4be0b29c3..6b9e6ed77207 100644 --- a/airbyte-integrations/connectors/source-typeform/metadata.yaml +++ b/airbyte-integrations/connectors/source-typeform/metadata.yaml @@ -1,6 +1,6 @@ data: ab_internal: - ql: 400 + ql: 200 sl: 200 allowedHosts: hosts: @@ -10,7 +10,7 @@ data: connectorSubtype: api connectorType: source definitionId: e7eff203-90bf-43e5-a240-19ea3056c474 - dockerImageTag: 1.1.2 + dockerImageTag: 1.2.0 dockerRepository: airbyte/source-typeform documentationUrl: https://docs.airbyte.com/integrations/sources/typeform githubIssueLabel: source-typeform diff --git a/airbyte-integrations/connectors/source-typeform/source_typeform/schemas/responses.json b/airbyte-integrations/connectors/source-typeform/source_typeform/schemas/responses.json index 6097f2e5d155..ee18a6040efe 100644 --- a/airbyte-integrations/connectors/source-typeform/source_typeform/schemas/responses.json +++ b/airbyte-integrations/connectors/source-typeform/source_typeform/schemas/responses.json @@ -4,6 +4,9 @@ "response_id": { "type": ["null", "string"] }, + "response_type": { + "type": ["null", "string"] + }, "landed_at": { "type": ["null", "string"] }, diff --git a/airbyte-integrations/connectors/source-typeform/unit_tests/test_form_id_partition_router.py b/airbyte-integrations/connectors/source-typeform/unit_tests/test_form_id_partition_router.py index bec641b9fbc5..0b906e9e1ba6 100644 --- a/airbyte-integrations/connectors/source-typeform/unit_tests/test_form_id_partition_router.py +++ b/airbyte-integrations/connectors/source-typeform/unit_tests/test_form_id_partition_router.py @@ -7,7 +7,7 @@ import pytest from airbyte_cdk.sources.declarative.partition_routers.substream_partition_router import ParentStreamConfig -from source_typeform.components import FormIdPartitionRouter +from source_typeform.components import FormIdPartitionRouter, TypeformAuthenticator # test cases as a list of tuples (form_ids, parent_stream_configs, expected_slices) test_cases = [ @@ -45,3 +45,20 @@ def test_stream_slices(form_ids, parent_stream_configs, expected_slices): slices = list(router.stream_slices()) assert slices == expected_slices + +@pytest.mark.parametrize("token_auth, oauth2, config, expected", [ + ( + "token_auth", + None, + {"credentials": { "auth_type": True, "access_token": True }}, + "token_auth" + ), + ( + None, + "oauth2", + {"credentials": { "auth_type": False, "access_token": False}}, + "oauth2" + ) +]) +def test_new_typeformauthenticator(token_auth, oauth2, config, expected): + assert TypeformAuthenticator(token_auth, oauth2, config) == expected \ No newline at end of file diff --git a/docs/integrations/sources/typeform.md b/docs/integrations/sources/typeform.md index 7bb5ba162ce6..d4b2aae0b703 100644 --- a/docs/integrations/sources/typeform.md +++ b/docs/integrations/sources/typeform.md @@ -20,7 +20,7 @@ This page guides you through the process of setting up the Typeform source conne ## Setup guide -### Step 1: Obtain an API token +### Step 1: Obtain an API token **For Airbyte Open Source:** @@ -36,7 +36,7 @@ To get the API token for your application follow this [steps](https://developer. **For Airbyte Cloud:** -This step is not needed in Airbyte Cloud. Skip to the next step. +This step is not needed in Airbyte Cloud. Skip to the next step. ### Step 2: Set up the source connector in Airbyte @@ -90,6 +90,7 @@ API rate limits \(2 requests per second\): [https://developer.typeform.com/get-s | Version | Date | Pull Request | Subject | |:--------|:-----------|:-------------------------------------------------------------|:------------------------------------------------------------------------------------------------| +| 1.2.0 | 2023-11-29 | [32745](https://github.com/airbytehq/airbyte/pull/32745) | Add `response_type` field to `responses` schema | | 1.1.2 | 2023-10-27 | [31914](https://github.com/airbytehq/airbyte/pull/31914) | Fix pagination for stream Responses | | 1.1.1 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | | 1.1.0 | 2023-09-04 | [29916](https://github.com/airbytehq/airbyte/pull/29916) | Migrate to Low-Code Framework |