Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SATs: allow new records in a sequential read for full refresh test #17660

Conversation

davydov-d
Copy link
Collaborator

What

From time to time the source connector builds fail due to the different output of two subsequent reads. A common case is a new record in the second read which causes a fail. Since it takes time for many connectors to perform a full refresh sync, a new record is very likely to appear in the meantime.

How

Allow new records in full refresh test

@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2022

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-twilio
  • source-braintree
  • source-github
  • source-openweather
  • source-instagram
  • source-retently
  • source-zenloop
  • source-iterable
  • source-salesloft
  • source-drift
  • source-airtable
  • source-notion
  • source-surveymonkey
  • source-quickbooks-singer
  • source-zendesk-talk
  • source-freshservice
  • source-onesignal
  • source-youtube-analytics
  • source-okta
  • source-outreach
  • source-sendgrid
  • source-asana
  • source-amazon-seller-partner
  • source-monday
  • source-freshsales
  • source-sentry
  • source-appsflyer
  • source-tplcentral
  • source-strava
  • source-linnworks
  • source-cart
  • source-amazon-ads
  • source-paystack
  • source-mailchimp
  • source-amazon-sqs
  • source-salesforce
  • source-pardot
  • source-harvest
  • source-zendesk-sunshine
  • source-facebook-marketing
  • source-prestashop
  • source-pinterest
  • source-recharge
  • source-confluence
  • source-google-ads
  • source-chargebee
  • source-delighted
  • source-pipedrive
  • source-freshcaller
  • source-greenhouse
  • source-azure-table
  • source-commercetools
  • source-gitlab
  • source-klaviyo
  • source-mailgun
  • source-lemlist
  • source-amplitude
  • source-posthog
  • source-google-search-console
  • source-plaid
  • source-lever-hiring
  • source-facebook-pages

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 6, 2022

/test connector=bases/source-acceptance-test

🕑 bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3195993719
✅ bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3195993719
No Python unittests run

Build Passed

Test summary info:

All Passed

@github-actions
Copy link
Contributor

github-actions bot commented Oct 6, 2022

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-freshcaller
  • source-linnworks
  • source-confluence
  • source-chargebee
  • source-salesloft
  • source-gitlab
  • source-lemlist
  • source-zendesk-sunshine
  • source-azure-table
  • source-sentry
  • source-mailgun
  • source-posthog
  • source-twilio
  • source-braintree
  • source-quickbooks-singer
  • source-onesignal
  • source-amazon-seller-partner
  • source-google-ads
  • source-appsflyer
  • source-freshsales
  • source-monday
  • source-freshservice
  • source-github
  • source-pardot
  • source-openweather
  • source-asana
  • source-sendgrid
  • source-drift
  • source-commercetools
  • source-outreach
  • source-cart
  • source-instagram
  • source-google-search-console
  • source-pinterest
  • source-strava
  • source-greenhouse
  • source-surveymonkey
  • source-youtube-analytics
  • source-delighted
  • source-iterable
  • source-paystack
  • source-facebook-marketing
  • source-mailchimp
  • source-pipedrive
  • source-notion
  • source-amazon-ads
  • source-zenloop
  • source-zendesk-talk
  • source-salesforce
  • source-okta
  • source-tplcentral
  • source-harvest
  • source-amplitude
  • source-facebook-pages
  • source-prestashop
  • source-retently
  • source-klaviyo
  • source-amazon-sqs
  • source-lever-hiring
  • source-airtable
  • source-plaid
  • source-recharge

@davydov-d
Copy link
Collaborator Author

@Phlair take a look please

@davydov-d
Copy link
Collaborator Author

will publish/merge this one once I get approve from Airbyte please

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 7, 2022

/test connector=connectors/source-slack

🕑 connectors/source-slack https://github.com/airbytehq/airbyte/actions/runs/3204968331
✅ connectors/source-slack https://github.com/airbytehq/airbyte/actions/runs/3204968331
Python tests coverage:

Name                       Stmts   Miss  Cover
----------------------------------------------
source_slack/__init__.py       2      0   100%
source_slack/source.py       218     19    91%
----------------------------------------------
TOTAL                        220     19    91%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

All Passed

Copy link
Contributor

@brianjlai brianjlai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's make sure to test this on a handful more connectors since its a change to the core validation logic and out of curiosity, do you know how often these flaky tests were occurring and which connectors it was most prominent for?

output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
if output_diff:
if not set(map(serializer, stream_records_1)).issubset(set(map(serializer, stream_records_2))):
output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we still need to check the symmetric difference if we're effectively doing the validation above by verifying that records_1 is not a subset of records_2?

Thinking about all the permutations, records_2 should at minimum have the same records as records_1 but could have more. So I think your above condition is sufficient set(map(serializer, stream_records_1)).issubset(set(map(serializer, stream_records_2)))

If we've gotten into this block where we know that records_1 has records that records_2 is missing, maybe we should be more descriptive and use records_1 - records_2 to show which records records_2 was missing that should have been there. The symmetric difference combines it all together which might be confusing.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 , asserting that records_2 is a subset of records_1 is good enough for me. And feel free to show the difference for debugging.

@alafanechere
Copy link
Contributor

Since it takes time for many connectors to perform a full refresh sync, a new record will likely appear in the meantime.

As @brianjlai I'd be interested in knowing for which connector you encounter this problem. As SAT run on our sandbox accounts, most do not have new data very often. But for our GitHub account, it might indeed be the case.

output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
if output_diff:
if not set(map(serializer, stream_records_1)).issubset(set(map(serializer, stream_records_2))):
output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 , asserting that records_2 is a subset of records_1 is good enough for me. And feel free to show the difference for debugging.

output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
if output_diff:
if not set(map(serializer, stream_records_1)).issubset(set(map(serializer, stream_records_2))):
output_diff = set(map(serializer, stream_records_1)).symmetric_difference(set(map(serializer, stream_records_2)))
msg = f"{stream}: the two sequential reads should produce either equal set of records or one of them is a strict subset of the other"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This message makes me realize the changes you are making are what we expected to checked:

  • We want to make sure the first full refresh sync's records are a subset of the second full refresh records

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=bases/source-acceptance-test

🕑 bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3233317032
✅ bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3233317032
No Python unittests run

Build Passed

Test summary info:

All Passed

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-okta
  • source-greenhouse
  • source-chargebee
  • source-monday
  • source-salesloft
  • source-klaviyo
  • source-github
  • source-harvest
  • source-retently
  • source-delighted
  • source-gitlab
  • source-facebook-pages
  • source-asana
  • source-paystack
  • source-lemlist
  • source-tplcentral
  • source-zendesk-sunshine
  • source-outreach
  • source-onesignal
  • source-pardot
  • source-braintree
  • source-google-ads
  • source-google-search-console
  • source-freshsales
  • source-linnworks
  • source-prestashop
  • source-facebook-marketing
  • source-sendgrid
  • source-zenloop
  • source-twilio
  • source-surveymonkey
  • source-pipedrive
  • source-plaid
  • source-freshcaller
  • source-appsflyer
  • source-amazon-sqs
  • source-pinterest
  • source-mailgun
  • source-cart
  • source-strava
  • source-zendesk-talk
  • source-azure-table
  • source-mailchimp
  • source-salesforce
  • source-sentry
  • source-recharge
  • source-posthog
  • source-amazon-ads
  • source-lever-hiring
  • source-commercetools
  • source-airtable
  • source-youtube-analytics
  • source-drift
  • source-freshservice
  • source-openweather
  • source-confluence
  • source-amazon-seller-partner
  • source-amplitude
  • source-instagram
  • source-quickbooks-singer
  • source-notion
  • source-iterable

@davydov-d
Copy link
Collaborator Author

@brianjlai @alafanechere thanks for the review. I made the appropriate change in the code.
As for the connectors which encountered this problem, I can recall at least source-slack, source-facebook-marketing, source-instagram, source-google-analytics, source-google-ads. I'm sure there were more but that's all I can recall at the moment

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-slack

🕑 connectors/source-slack https://github.com/airbytehq/airbyte/actions/runs/3233339034
✅ connectors/source-slack https://github.com/airbytehq/airbyte/actions/runs/3233339034
Python tests coverage:

Name                       Stmts   Miss  Cover
----------------------------------------------
source_slack/__init__.py       2      0   100%
source_slack/source.py       218     19    91%
----------------------------------------------
TOTAL                        220     19    91%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

All Passed

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-instagram

🕑 connectors/source-instagram https://github.com/airbytehq/airbyte/actions/runs/3233340954
✅ connectors/source-instagram https://github.com/airbytehq/airbyte/actions/runs/3233340954
Python tests coverage:

Name                           Stmts   Miss  Cover
--------------------------------------------------
source_instagram/__init__.py       2      0   100%
source_instagram/api.py           59      5    92%
source_instagram/source.py        31     11    65%
source_instagram/streams.py      203     93    54%
source_instagram/common.py        36     22    39%
--------------------------------------------------
TOTAL                            331    131    60%
Name                           Stmts   Miss  Cover
--------------------------------------------------
source_instagram/source.py        31      0   100%
source_instagram/__init__.py       2      0   100%
source_instagram/common.py        36      3    92%
source_instagram/streams.py      203     19    91%
source_instagram/api.py           59      7    88%
--------------------------------------------------
TOTAL                            331     29    91%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:60: Skipping TestIncremental.test_two_sequential_reads because not found in the config
================== 26 passed, 1 skipped in 344.73s (0:05:44) ===================

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-facebook-marketing

🕑 connectors/source-facebook-marketing https://github.com/airbytehq/airbyte/actions/runs/3233341060
✅ connectors/source-facebook-marketing https://github.com/airbytehq/airbyte/actions/runs/3233341060
Python tests coverage:

Name                                                        Stmts   Miss  Cover
-------------------------------------------------------------------------------
source_facebook_marketing/streams/__init__.py                   2      0   100%
source_facebook_marketing/spec.py                              37      0   100%
source_facebook_marketing/__init__.py                           2      0   100%
source_facebook_marketing/api.py                               96     12    88%
source_facebook_marketing/streams/base_streams.py             138     27    80%
source_facebook_marketing/streams/common.py                    40     13    68%
source_facebook_marketing/source.py                            49     17    65%
source_facebook_marketing/utils.py                             24      9    62%
source_facebook_marketing/streams/streams.py                  118     45    62%
source_facebook_marketing/streams/base_insight_streams.py     132     54    59%
source_facebook_marketing/streams/async_job.py                217    136    37%
source_facebook_marketing/streams/async_job_manager.py         78     60    23%
-------------------------------------------------------------------------------
TOTAL                                                         933    373    60%
Name                                                        Stmts   Miss  Cover
-------------------------------------------------------------------------------
source_facebook_marketing/utils.py                             24      0   100%
source_facebook_marketing/streams/common.py                    40      0   100%
source_facebook_marketing/streams/async_job.py                217      0   100%
source_facebook_marketing/streams/__init__.py                   2      0   100%
source_facebook_marketing/spec.py                              37      0   100%
source_facebook_marketing/__init__.py                           2      0   100%
source_facebook_marketing/source.py                            49      1    98%
source_facebook_marketing/streams/async_job_manager.py         78      3    96%
source_facebook_marketing/streams/base_insight_streams.py     132     12    91%
source_facebook_marketing/api.py                               96      9    91%
source_facebook_marketing/streams/base_streams.py             138     30    78%
source_facebook_marketing/streams/streams.py                  118     27    77%
-------------------------------------------------------------------------------
TOTAL                                                         933     82    91%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

All Passed

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-google-ads

🕑 connectors/source-google-ads https://github.com/airbytehq/airbyte/actions/runs/3233343650
✅ connectors/source-google-ads https://github.com/airbytehq/airbyte/actions/runs/3233343650
Python tests coverage:

Name                                       Stmts   Miss  Cover
--------------------------------------------------------------
source_google_ads/models.py                   18      0   100%
source_google_ads/__init__.py                  2      0   100%
source_google_ads/google_ads.py               68     10    85%
source_google_ads/streams.py                 163     26    84%
source_google_ads/source.py                   86     24    72%
source_google_ads/custom_query_stream.py      75     46    39%
--------------------------------------------------------------
TOTAL                                        412    106    74%
Name                                       Stmts   Miss  Cover
--------------------------------------------------------------
source_google_ads/models.py                   18      0   100%
source_google_ads/__init__.py                  2      0   100%
source_google_ads/streams.py                 163      8    95%
source_google_ads/source.py                   86      5    94%
source_google_ads/custom_query_stream.py      75      6    92%
source_google_ads/google_ads.py               68     12    82%
--------------------------------------------------------------
TOTAL                                        412     31    92%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:60: Skipping TestIncremental.test_two_sequential_reads because not found in the config
================== 28 passed, 1 skipped in 578.73s (0:09:38) ===================

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-google-analytics

🕑 connectors/source-google-analytics https://github.com/airbytehq/airbyte/actions/runs/3233343517
❌ connectors/source-google-analytics https://github.com/airbytehq/airbyte/actions/runs/3233343517
🐛

Build Failed

Test summary info:

Could not find result summary

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 12, 2022

/test connector=connectors/source-google-analytics-v4

🕑 connectors/source-google-analytics-v4 https://github.com/airbytehq/airbyte/actions/runs/3233400166
✅ connectors/source-google-analytics-v4 https://github.com/airbytehq/airbyte/actions/runs/3233400166
Python tests coverage:

Name                                     Stmts   Miss  Cover
------------------------------------------------------------
source_google_analytics_v4/__init__.py       2      0   100%
source_google_analytics_v4/source.py       284     26    91%
------------------------------------------------------------
TOTAL                                      286     26    91%
	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          10      4    60%   15-18
	 source_acceptance_test/config.py                        83      6    93%   78-80, 84-86
	 source_acceptance_test/conftest.py                     164    164     0%   6-282
	 source_acceptance_test/plugin.py                        48     48     0%   6-104
	 source_acceptance_test/tests/test_core.py              329    111    66%   39, 50-58, 63-70, 74-75, 79-80, 164, 202-219, 228-236, 240-245, 251, 284-289, 327-334, 374-376, 379, 439-448, 477-478, 484, 487, 520-530, 543-568, 573-577
	 source_acceptance_test/tests/test_incremental.py       152     26    83%   21-23, 29-31, 36-43, 48-61, 239, 250-258
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  77     17    78%   15-16, 24-30, 47-54, 64, 67
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-67, 70-72, 75-77, 80-82, 85-87, 90-92, 95-113, 147-149
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1358    464    66%

Build Passed

Test summary info:

All Passed

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-amazon-ads
  • source-onesignal
  • source-appsflyer
  • source-instagram
  • source-twilio
  • source-quickbooks-singer
  • source-mailgun
  • source-drift
  • source-amazon-seller-partner
  • source-salesloft
  • source-recharge
  • source-commercetools
  • source-sendgrid
  • source-github
  • source-cart
  • source-freshsales
  • source-zenloop
  • source-facebook-pages
  • source-iterable
  • source-chargebee
  • source-notion
  • source-zendesk-sunshine
  • source-klaviyo
  • source-facebook-marketing
  • source-google-ads
  • source-harvest
  • source-azure-table
  • source-lemlist
  • source-outreach
  • source-linnworks
  • source-delighted
  • source-confluence
  • source-pipedrive
  • source-lever-hiring
  • source-airtable
  • source-salesforce
  • source-asana
  • source-braintree
  • source-youtube-analytics
  • source-surveymonkey
  • source-strava
  • source-greenhouse
  • source-retently
  • source-amazon-sqs
  • source-freshservice
  • source-freshcaller
  • source-pardot
  • source-pinterest
  • source-paystack
  • source-sentry
  • source-plaid
  • source-tplcentral
  • source-amplitude
  • source-posthog
  • source-openweather
  • source-prestashop
  • source-zendesk-talk
  • source-monday
  • source-gitlab
  • source-google-search-console
  • source-okta
  • source-mailchimp

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-airtable
  • source-quickbooks-singer
  • source-amazon-ads
  • source-plaid
  • source-amazon-sqs
  • source-monday
  • source-iterable
  • source-outreach
  • source-paystack
  • source-salesforce
  • source-sentry
  • source-lemlist
  • source-zendesk-talk
  • source-twilio
  • source-appsflyer
  • source-amazon-seller-partner
  • source-salesloft
  • source-zenloop
  • source-facebook-pages
  • source-confluence
  • source-github
  • source-pipedrive
  • source-freshservice
  • source-linnworks
  • source-delighted
  • source-openweather
  • source-sendgrid
  • source-azure-table
  • source-tplcentral
  • source-zendesk-sunshine
  • source-google-ads
  • source-prestashop
  • source-google-search-console
  • source-chargebee
  • source-drift
  • source-recharge
  • source-amplitude
  • source-strava
  • source-surveymonkey
  • source-freshcaller
  • source-notion
  • source-youtube-analytics
  • source-mailgun
  • source-pinterest
  • source-asana
  • source-greenhouse
  • source-posthog
  • source-mailchimp
  • source-pardot
  • source-klaviyo
  • source-okta
  • source-braintree
  • source-onesignal
  • source-lever-hiring
  • source-retently
  • source-instagram
  • source-harvest
  • source-facebook-marketing
  • source-freshsales
  • source-commercetools
  • source-gitlab
  • source-cart

Copy link
Contributor

@alafanechere alafanechere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve to unblock but please implement the suggestions I left on the unit tests.

@sherifnada sherifnada removed their request for review October 13, 2022 21:21
@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 17, 2022

/test connector=bases/source-acceptance-test

🕑 bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3265481302
✅ bases/source-acceptance-test https://github.com/airbytehq/airbyte/actions/runs/3265481302
No Python unittests run

Build Passed

Test summary info:

All Passed

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-retently
  • source-commercetools
  • source-mailgun
  • source-confluence
  • source-drift
  • source-sentry
  • source-greenhouse
  • source-prestashop
  • source-facebook-marketing
  • source-amplitude
  • source-salesloft
  • source-zendesk-sunshine
  • source-twilio
  • source-outreach
  • source-strava
  • source-pardot
  • source-zenloop
  • source-onesignal
  • source-airtable
  • source-recharge
  • source-amazon-seller-partner
  • source-freshservice
  • source-iterable
  • source-zendesk-talk
  • source-harvest
  • source-pinterest
  • source-asana
  • source-openweather
  • source-instagram
  • source-pipedrive
  • source-tplcentral
  • source-chargebee
  • source-facebook-pages
  • source-klaviyo
  • source-amazon-sqs
  • source-youtube-analytics
  • source-cart
  • source-gitlab
  • source-braintree
  • source-salesforce
  • source-linnworks
  • source-github
  • source-mailchimp
  • source-amazon-ads
  • source-paystack
  • source-lemlist
  • source-google-ads
  • source-monday
  • source-notion
  • source-sendgrid
  • source-quickbooks-singer
  • source-appsflyer
  • source-azure-table
  • source-plaid
  • source-delighted
  • source-freshsales
  • source-lever-hiring
  • source-okta
  • source-surveymonkey
  • source-freshcaller
  • source-posthog
  • source-google-search-console

@davydov-d
Copy link
Collaborator Author

I approve to unblock but please implement the suggestions I left on the unit tests.

thanks, done!

@github-actions
Copy link
Contributor

NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to run corresponding integration tests:

  • source-freshservice
  • source-strava
  • source-github
  • source-linnworks
  • source-onesignal
  • source-chargebee
  • source-zendesk-sunshine
  • source-okta
  • source-amazon-seller-partner
  • source-drift
  • source-openweather
  • source-cart
  • source-facebook-marketing
  • source-posthog
  • source-harvest
  • source-zendesk-talk
  • source-pinterest
  • source-salesloft
  • source-notion
  • source-iterable
  • source-monday
  • source-quickbooks-singer
  • source-pipedrive
  • source-twilio
  • source-braintree
  • source-plaid
  • source-lever-hiring
  • source-freshsales
  • source-zenloop
  • source-klaviyo
  • source-recharge
  • source-airtable
  • source-outreach
  • source-prestashop
  • source-gitlab
  • source-mailgun
  • source-retently
  • source-tplcentral
  • source-amazon-sqs
  • source-pardot
  • source-google-ads
  • source-amplitude
  • source-paystack
  • source-freshcaller
  • source-facebook-pages
  • source-sentry
  • source-lemlist
  • source-appsflyer
  • source-mailchimp
  • source-amazon-ads
  • source-google-search-console
  • source-confluence
  • source-surveymonkey
  • source-azure-table
  • source-asana
  • source-sendgrid
  • source-youtube-analytics
  • source-salesforce
  • source-instagram
  • source-greenhouse
  • source-delighted
  • source-commercetools

@davydov-d
Copy link
Collaborator Author

davydov-d commented Oct 18, 2022

/publish connector=bases/source-acceptance-test auto-bump-version=false

🕑 Publishing the following connectors:
bases/source-acceptance-test
https://github.com/airbytehq/airbyte/actions/runs/3271691702


Connector Did it publish? Were definitions generated?
bases/source-acceptance-test

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@davydov-d davydov-d merged commit 7a3815a into master Oct 18, 2022
@davydov-d davydov-d deleted the ddavydov/SAT-allow-new-records-in-sequential-read-for-full-refresh-test branch October 18, 2022 08:34
YatsukBogdan1 pushed a commit that referenced this pull request Oct 18, 2022
…17660)

* SATs: allow new records in a sequential read for full refresh test

* SATs: upd changelog

* SATs: change the output when failing full refresh test

* SATs: upd according to code review
YatsukBogdan1 added a commit that referenced this pull request Oct 19, 2022
* Implement ColumnSortButton component

* Updates component name; Moves component to ui/Table folder; Refactors formattedMessageId property into using render content as children directly; Removes minor SortIcon component

* Update airbyte-webapp/src/App.tsx

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>

* Updates next properties: wasActive -> isActive, lowToLarge -> isAscending

* Skip psql stop in acceptance test for gke (#18023)

* Checks for iterator hasNext element (#18041)

* Checks for iterator hasNext element

* Fix linter with newline

* Add Message Migration to Destination Connection Checks (#17954)

* Add Message Migration to Destination Connection Checks

* Fix test setup

* Update helm release workflow (#18048)

* Update workflow

* Update trigger rules

* fix: Update release workflow with abillity to add tags

* Update workflow

* Remove unused `airbyte-cli` (#18009)

* 🐛  [low-code] $options shouldn't overwrite values that are already defined (#18060)

* fix

* Add missing test

* remove prints

* extract to method

* rename

* Add missing test

* rename

* bump

* Update helm chart comments (#18072)

* Update helm charts (#18073)

* add test

* fix chart.yaml

* 16250 Destination Redis: Add SSH support (#17951)

* 16250 Destination Redis: Add SSH support

* 16250 Resolve port issue

* 11679 Bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* Bump helm chart version reference to 0.40.20 (#18074)

* Bump helm chart version reference to 0.40.20

* remove binary

Co-authored-by: xpuska513 <xpuska513@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* Helm Chart: Create service annotations for airbyte-server (#17932)

* Support annotations for airbyte-server as well, update version and update docs.

* Fix auto-indent.

Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* Bmoric/remove dep server worker (#17894)

* test [ci skip]

* Autogenerated files

* Add missing annotation

* Remove unused json2Schema block from worker

* Move tess

* Missing deps and format

* Fix test build

* TMP

* Add missing dependencies

* PR comments

* Tmp

* [ci skip] Tmp

* Fix acceptance test and add the seed dependency

* Fix build

* For diff

* tmp

* Build pass

* make the worker to be  on the platform only

* fix setting.yaml

* Fix pmd

* Fix Cron

* Add chart

* Fix cron

* Fix server build.gradle

* Fix jar conflict

* PR comments

* Add cron micronaut environemnt

* Updated connector catalog page (#18076)

* Move the port forward outside of the main docker-compose (#17864)

* Bump Airbyte version from 0.40.14 to 0.40.15 (#17970)

Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>

* 🎉 Source Shopify: Add metafield streams (#17962)

* 🎉 Source Shopify: Add metafield streams

* Source Shopify: fix unittest

* Source Shopify: docs update

* Source Shopify: fix backward compatibility test

* Source Shopify: fix schemas

* Source Shopify: fix state filter

* Source Shopify: refactor & optimize

* Source Shopify: fix test privileges

* Source Shopify: fix stream filter

* Source Shopify: fix streams

* Source Shopify: update abnormal state

* Source Shopify: fix abnormal state streams

* Source Shopify: fix streams

* updated methods, formated code

* Source Shopify: typo fix

* auto-bump connector version

Co-authored-by: Oleksandr Bazarnov <oleksandr.bazarnov@globallogic.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* fix check for streams that do not use a stream slicer (#18080)

* fix check for streams that do not use a stream slicer

* increment version and changelog before publish

* tolerate database nulls in webhook operation configs (#18084)

* Implement webhook operation in the sync workflow (#18022)

Implements the webhook operation as part of the sync workflow.

- Introduces the new activity implementation
- Updates the various interfaces that pass input to get the relevant configs to the sync workflow
- Hooks the new activity into the sync workflow
- Passes the webhook configs along into the sync workflow job

* Bump helm chart version reference to 0.40.22 (#18077)

* Added new "filters" python file, along with a "hash" filter. This can… (#18000)

* Added new "filters" python file, along with a "hash" filter. This can be extended to include other custom filters in the future.

* Added additional comments

* Moved usage of the hash_obj inside the conditional that confirms it exists

* Moved the hash function call inside a condition to ensure that it exists

* Fixed the application of the salt , so that it does not modify the hash unless it is actually passed in.

* Added unit tests to validate new jinja hash functionality

* Updated unit test to pass numeric value as a float instead of string

* Removed unreferenced import to pytest

* Updated version

* format

* format

* format

* format

* format

Co-authored-by: Alexandre Girard <alexandre@airbyte.io>

* Bump helm chart version reference to 0.40.24 (#18081)

* Bump helm chart version reference to 0.40.24

* Update .gitignore

Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* SATs: allow new records in a sequential read for full refresh test (#17660)

* SATs: allow new records in a sequential read for full refresh test

* SATs: upd changelog

* SATs: change the output when failing full refresh test

* SATs: upd according to code review

* Source facebook-marketing: remove `pixel` from custom conversions stream (#18045)

* #744 source facebook-marketing: rm pixel from custom conversions stream

* #744 source fb marketing: upd changelog

* #744 source facebook-marketing - add custom_conversions to the test catalog

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* #17506 fix klaviyo & marketo expected_records (#18101)

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>
Co-authored-by: terencecho <3916587+terencecho@users.noreply.github.com>
Co-authored-by: Ryan Fu <ryan.fu@airbyte.io>
Co-authored-by: Jimmy Ma <gosusnp@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>
Co-authored-by: Evan Tahler <evan@airbyte.io>
Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
Co-authored-by: Yevhen Sukhomud <suhomud@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: xpuska513 <xpuska513@users.noreply.github.com>
Co-authored-by: Prasanth <72515998+sfc-gh-pkommini@users.noreply.github.com>
Co-authored-by: Benoit Moriceau <benoit@airbyte.io>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <90398440+octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>
Co-authored-by: Artem Inzhyyants <36314070+artem1205@users.noreply.github.com>
Co-authored-by: Oleksandr Bazarnov <oleksandr.bazarnov@globallogic.com>
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
Co-authored-by: Michael Siega <109092231+mfsiega-airbyte@users.noreply.github.com>
Co-authored-by: Alexander Marquardt <alexander.marquardt@gmail.com>
Co-authored-by: Denys Davydov <davydov.den18@gmail.com>
jhammarstedt pushed a commit to jhammarstedt/airbyte that referenced this pull request Oct 31, 2022
…irbytehq#17660)

* SATs: allow new records in a sequential read for full refresh test

* SATs: upd changelog

* SATs: change the output when failing full refresh test

* SATs: upd according to code review
jhammarstedt pushed a commit to jhammarstedt/airbyte that referenced this pull request Oct 31, 2022
* Implement ColumnSortButton component

* Updates component name; Moves component to ui/Table folder; Refactors formattedMessageId property into using render content as children directly; Removes minor SortIcon component

* Update airbyte-webapp/src/App.tsx

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>

* Updates next properties: wasActive -> isActive, lowToLarge -> isAscending

* Skip psql stop in acceptance test for gke (airbytehq#18023)

* Checks for iterator hasNext element (airbytehq#18041)

* Checks for iterator hasNext element

* Fix linter with newline

* Add Message Migration to Destination Connection Checks (airbytehq#17954)

* Add Message Migration to Destination Connection Checks

* Fix test setup

* Update helm release workflow (airbytehq#18048)

* Update workflow

* Update trigger rules

* fix: Update release workflow with abillity to add tags

* Update workflow

* Remove unused `airbyte-cli` (airbytehq#18009)

* 🐛  [low-code] $options shouldn't overwrite values that are already defined (airbytehq#18060)

* fix

* Add missing test

* remove prints

* extract to method

* rename

* Add missing test

* rename

* bump

* Update helm chart comments (airbytehq#18072)

* Update helm charts (airbytehq#18073)

* add test

* fix chart.yaml

* 16250 Destination Redis: Add SSH support (airbytehq#17951)

* 16250 Destination Redis: Add SSH support

* 16250 Resolve port issue

* 11679 Bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* Bump helm chart version reference to 0.40.20 (airbytehq#18074)

* Bump helm chart version reference to 0.40.20

* remove binary

Co-authored-by: xpuska513 <xpuska513@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* Helm Chart: Create service annotations for airbyte-server (airbytehq#17932)

* Support annotations for airbyte-server as well, update version and update docs.

* Fix auto-indent.

Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* Bmoric/remove dep server worker (airbytehq#17894)

* test [ci skip]

* Autogenerated files

* Add missing annotation

* Remove unused json2Schema block from worker

* Move tess

* Missing deps and format

* Fix test build

* TMP

* Add missing dependencies

* PR comments

* Tmp

* [ci skip] Tmp

* Fix acceptance test and add the seed dependency

* Fix build

* For diff

* tmp

* Build pass

* make the worker to be  on the platform only

* fix setting.yaml

* Fix pmd

* Fix Cron

* Add chart

* Fix cron

* Fix server build.gradle

* Fix jar conflict

* PR comments

* Add cron micronaut environemnt

* Updated connector catalog page (airbytehq#18076)

* Move the port forward outside of the main docker-compose (airbytehq#17864)

* Bump Airbyte version from 0.40.14 to 0.40.15 (airbytehq#17970)

Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>

* 🎉 Source Shopify: Add metafield streams (airbytehq#17962)

* 🎉 Source Shopify: Add metafield streams

* Source Shopify: fix unittest

* Source Shopify: docs update

* Source Shopify: fix backward compatibility test

* Source Shopify: fix schemas

* Source Shopify: fix state filter

* Source Shopify: refactor & optimize

* Source Shopify: fix test privileges

* Source Shopify: fix stream filter

* Source Shopify: fix streams

* Source Shopify: update abnormal state

* Source Shopify: fix abnormal state streams

* Source Shopify: fix streams

* updated methods, formated code

* Source Shopify: typo fix

* auto-bump connector version

Co-authored-by: Oleksandr Bazarnov <oleksandr.bazarnov@globallogic.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* fix check for streams that do not use a stream slicer (airbytehq#18080)

* fix check for streams that do not use a stream slicer

* increment version and changelog before publish

* tolerate database nulls in webhook operation configs (airbytehq#18084)

* Implement webhook operation in the sync workflow (airbytehq#18022)

Implements the webhook operation as part of the sync workflow.

- Introduces the new activity implementation
- Updates the various interfaces that pass input to get the relevant configs to the sync workflow
- Hooks the new activity into the sync workflow
- Passes the webhook configs along into the sync workflow job

* Bump helm chart version reference to 0.40.22 (airbytehq#18077)

* Added new "filters" python file, along with a "hash" filter. This can… (airbytehq#18000)

* Added new "filters" python file, along with a "hash" filter. This can be extended to include other custom filters in the future.

* Added additional comments

* Moved usage of the hash_obj inside the conditional that confirms it exists

* Moved the hash function call inside a condition to ensure that it exists

* Fixed the application of the salt , so that it does not modify the hash unless it is actually passed in.

* Added unit tests to validate new jinja hash functionality

* Updated unit test to pass numeric value as a float instead of string

* Removed unreferenced import to pytest

* Updated version

* format

* format

* format

* format

* format

Co-authored-by: Alexandre Girard <alexandre@airbyte.io>

* Bump helm chart version reference to 0.40.24 (airbytehq#18081)

* Bump helm chart version reference to 0.40.24

* Update .gitignore

Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>

* SATs: allow new records in a sequential read for full refresh test (airbytehq#17660)

* SATs: allow new records in a sequential read for full refresh test

* SATs: upd changelog

* SATs: change the output when failing full refresh test

* SATs: upd according to code review

* Source facebook-marketing: remove `pixel` from custom conversions stream (airbytehq#18045)

* airbytehq#744 source facebook-marketing: rm pixel from custom conversions stream

* airbytehq#744 source fb marketing: upd changelog

* airbytehq#744 source facebook-marketing - add custom_conversions to the test catalog

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>

* #17506 fix klaviyo & marketo expected_records (airbytehq#18101)

Co-authored-by: Edmundo Ruiz Ghanem <168664+edmundito@users.noreply.github.com>
Co-authored-by: terencecho <3916587+terencecho@users.noreply.github.com>
Co-authored-by: Ryan Fu <ryan.fu@airbyte.io>
Co-authored-by: Jimmy Ma <gosusnp@users.noreply.github.com>
Co-authored-by: Kyryl Skobylko <xpuska513@gmail.com>
Co-authored-by: Evan Tahler <evan@airbyte.io>
Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
Co-authored-by: Yevhen Sukhomud <suhomud@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: xpuska513 <xpuska513@users.noreply.github.com>
Co-authored-by: Prasanth <72515998+sfc-gh-pkommini@users.noreply.github.com>
Co-authored-by: Benoit Moriceau <benoit@airbyte.io>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <90398440+octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: benmoriceau <benmoriceau@users.noreply.github.com>
Co-authored-by: Artem Inzhyyants <36314070+artem1205@users.noreply.github.com>
Co-authored-by: Oleksandr Bazarnov <oleksandr.bazarnov@globallogic.com>
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
Co-authored-by: Michael Siega <109092231+mfsiega-airbyte@users.noreply.github.com>
Co-authored-by: Alexander Marquardt <alexander.marquardt@gmail.com>
Co-authored-by: Denys Davydov <davydov.den18@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants