-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
🐛 🚨🚨 Source LinkedIn Pages: fixed failing connection checks #18967
🐛 🚨🚨 Source LinkedIn Pages: fixed failing connection checks #18967
Conversation
@tinomerl thanks for your contribution, I’m one of the Airbyte maintainers and will take a quick look at your submission. |
/test connector=connectors/source-linkedin-pages
Build FailedTest summary info:
|
Hey @koconder, thanks for reviewing. Let me know if i can be of any help. |
@sajarin @marcosmarxm i think we need to update the config in github actions to match the changes in the PR. Can we please make the org id in the test config a string. |
/test connector=connectors/source-linkedin-pages
Build FailedTest summary info:
|
hi, any plan to merge this soon? |
@sajarin @marcosmarxm CI is returning the following error:
We need to update the sandbox credentials to pass this change for LinkedIn pages |
@leminhds our automated unit testing is failing, we will need to correct this before we can finalise the PR. Please hold whilst we review the PR and finalise the tests. |
Hey @koconder @marcosmarxm @sajarin any updates on this pr? can i help out in any way? |
Hello 👋:skin-tone-2: and thank you for your contribution! Airbyte has instituted a code freeze between 19 and 30 December, to make sure there are no disruptions during the holidays. If you have any questions or need further clarification, please don't hesitate to ping via Slack. |
Thanks a lot @tinomerl and Airbyte Team. As holidays (hopefully) was nice for everyone regarding airbyte usage, is there any plan on the review of this request? Thanks a lot. |
@koconder I've put in a request for new credentials to run the integration tests! |
/test connector=connectors/source-linkedin-pages
Build FailedTest summary info:
|
Sorry for the delay here, just need to sign off on the last step and the creds will be updated. |
Hi, any update? Can I help in any way? |
Hey @marcosmarxm, @sh4sh, @koconder can this pr be merged soon? it's almost 4 months now for what should've been a small fix. |
/test connector=connectors/source-linkedin-pages
Build FailedTest summary info:
|
@tinomerl I'm having some problems with our CI to make the final test pass. Waiting some return from the engineer team about the topic. |
@marcosmarxm thanks for the info and the tests. let me know if i can be of any help. |
/test connector=connectors/source-linkedin-pages
Build PassedTest summary info:
|
/publish connector=connectors/source-linkedin-pages
if you have connectors that successfully published but failed definition generation, follow step 4 here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @tinomerl
@tinomerl I'm trying to get the final approval from our connector team because of the backward compatibility issue. |
Merged code at #24161 |
What
Fixes #15986
How
The problem was that the org_id was defined as a secret and a integer. By setting it to string in the spec.json The error mentioned in #15986 got fixed. But by changing the type of the org_id the acceptance tests for the backwards compatibility fail. Therefore i tested the connector with a local deployment. Everything could be replicated and worked fine.
Fixed an additional bug where two streams where defined two times in the streams method. This led to an error making it impossible to repliace data and broke the airbyte ui when checking the connection.
Recommended reading order
x.java
y.python
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described hereUpdating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changesTests
Unit
None were defined
Integration
Put your integration tests output here.
Acceptance
Test session starts (platform: linux, Python 3.9.15, pytest 6.2.5, pytest-sugar 0.9.5) cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/mnt/c/Users/Tino.Merl/Documents/repos/airbyte_fork/airbyte-integrations/connectors/source-linkedin-pages/.hypothesis/examples') rootdir: /mnt/c/Users/Tino.Merl/Documents/repos/airbyte_fork, configfile: pytest.ini plugins: hypothesis-6.54.6, cov-3.0.0, mock-3.6.1, sugar-0.9.5, timeout-1.4.2, requests-mock-1.9.3 collecting ... {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}} {"type": "LOG", "log": {"level": "WARN", "message": "The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format."}}airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_config_match_spec[inputs0] ✓ 4% ▍
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_match_expected[inputs0] ✓ 8% ▊
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_docker_env[inputs0] ✓ 12% █▎
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oneof_usage[inputs0] ✓ 15% █▋
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_required[inputs0] ✓ 19% █▉
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_optional[inputs0] ✓ 23% ██▍
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_has_secret[inputs0] ✓ 27% ██▊
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_secret_never_in_the_output[inputs0] ✓ 31% ███▏
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_defined_refs_exist_in_json_spec_file[inputs0] ✓ 35% ███▌
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oauth_flow_parameters[inputs0] ✓ 38% ███▉
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― TestSpec.test_backward_compatibility[inputs0] ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
self = <source_acceptance_test.tests.test_core.TestSpec object at 0x7fd502c65d90>, skip_backward_compatibility_tests = False
actual_connector_spec = ConnectorSpecification(documentationUrl=AnyUrl('https://docs.airbyte.com/integrations/sources/linkedin-pages/', scheme...t_id'], ['client_secret']], oauthFlowOutputParameters=[['refresh_token']])), advanced_auth=None, protocol_version=None)
previous_connector_spec = ConnectorSpecification(documentationUrl=AnyUrl('https://docs.airbyte.com/integrations/sources/linkedin-pages/', scheme...t_id'], ['client_secret']], oauthFlowOutputParameters=[['refresh_token']])), advanced_auth=None, protocol_version=None)
number_of_configs_to_generate = 100
../../bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:181:
../../bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:131: in assert_is_backward_compatible
self.check_if_value_of_type_field_changed(self.connection_specification_diff)
../../bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:60: in check_if_value_of_type_field_changed
self._raise_error("The'type' field value was changed.", diff)
self = <source_acceptance_test.utils.backward_compatibility.SpecDiffChecker object at 0x7fd502be9a60>, message = "The'type' field value was changed."
diff = {'values_changed': [<root['properties']['org_id']['type'] t1:'integer', t2:'string'>, <root['properties']['credentials']['title'] t1:'Authenticat...', t2:'Authenticat...'>]}
E source_acceptance_test.utils.backward_compatibility.NonBackwardCompatibleError: BackwardIncompatibilityContext.SPEC - The'type' field value was changed.. Diff: Value of root['properties']['org_id']['type'] changed from "integer" to "string".
E Value of root['properties']['credentials']['title'] changed from "Authentication *" to "Authentication".
../../bases/source-acceptance-test/source_acceptance_test/utils/backward_compatibility.py:38: NonBackwardCompatibleError
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_backward_compatibility[inputs0] ⨯ 42% ████▎
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_additional_properties_is_true[inputs0] ✓ 46% ████▋
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs0] ✓ 50% █████
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs1] ✓ 54% █████▍
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_discover[inputs0] ✓ 58% █████▊
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_cursors_exist_in_schema[inputs0] ✓ 62% ██████▎
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_refs_exist_in_schema[inputs0] ✓ 65% ██████▋
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-allOf] ✓ 69% ██████▉
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-not] ✓ 73% ███████▍
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_primary_keys_exist_in_schema[inputs0] ✓ 77% ███████▊
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_streams_has_sync_modes[inputs0] ✓ 81% ████████▏
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_additional_properties_is_true[inputs0] ✓ 85% ████████▌ {"type": "LOG", "log": {"level": "ERROR", "message": "Docker container failed, code 1, error:\n{"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": 1667571281562.35, "error": {"message": "Something went wrong in the connector. See the logs for more details.", "internal_message": "Config validation error: '' is not of type 'integer'", "stack_trace": "Traceback (most recent call last):\n File \"/airbyte/integration_code/main.py\", line 13, in \n launch(source, sys.argv[1:])\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 123, in launch\n for message in source_entrypoint.run(parsed_args):\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 96, in run\n check_config_against_spec_or_exit(connector_config, source_spec)\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/utils/schema_helpers.py\", line 160, in check_config_against_spec_or_exit\n raise Exception(\"Config validation error: \" + validation_error.message) from None\nException: Config validation error: '' is not of type 'integer'\n", "failure_type": "system_error"}}}\n"}}
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ERROR at setup of TestDiscovery.test_backward_compatibility[inputs0] ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
connector_config = SecretDict(******), previous_connector_docker_runner = <source_acceptance_test.utils.connector_runner.ConnectorRunner object at 0x7fd502a9faf0>, previous_cached_schemas = {}
../../bases/source-acceptance-test/source_acceptance_test/conftest.py:259:
../../bases/source-acceptance-test/source_acceptance_test/utils/connector_runner.py:82: in call_discover
output = list(self.run(cmd=cmd, config=config, **kwargs))
../../bases/source-acceptance-test/source_acceptance_test/utils/connector_runner.py:109: in run
for line in self.read(container, command=cmd, with_ext=raise_container_error):
cls = <class 'source_acceptance_test.utils.connector_runner.ConnectorRunner'>, container = <Container: fa83990fdf>, command = 'discover --config /data/tap_config.json', with_ext = True
E docker.errors.ContainerError: Command 'discover --config /data/tap_config.json' in image '<Image: 'airbyte/source-linkedin-pages:latest'>' returned non-zero exit status 1: {"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": 1667571281562.35, "error": {"message": "Something went wrong in the connector. See the logs for more details.", "internal_message": "Config validation error: '' is not of type 'integer'", "stack_trace": "Traceback (most recent call last):\n File "/airbyte/integration_code/main.py", line 13, in \n launch(source, sys.argv[1:])\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 123, in launch\n for message in source_entrypoint.run(parsed_args):\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 96, in run\n check_config_against_spec_or_exit(connector_config, source_spec)\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/utils/schema_helpers.py", line 160, in check_config_against_spec_or_exit\n raise Exception("Config validation error: " + validation_error.message) from None\nException: Config validation error: '' is not of type 'integer'\n", "failure_type": "system_error"}}}
../../bases/source-acceptance-test/source_acceptance_test/utils/connector_runner.py:155: ContainerError
------------------------------------------------------------------------------------------- Captured log setup -------------------------------------------------------------------------------------------
ERROR root:connector_runner.py:153 Docker container failed, code 1, error:
{"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": 1667571281562.35, "error": {"message": "Something went wrong in the connector. See the logs for more details.", "internal_message": "Config validation error: '' is not of type 'integer'", "stack_trace": "Traceback (most recent call last):\n File "/airbyte/integration_code/main.py", line 13, in \n launch(source, sys.argv[1:])\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 123, in launch\n for message in source_entrypoint.run(parsed_args):\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 96, in run\n check_config_against_spec_or_exit(connector_config, source_spec)\n File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/utils/schema_helpers.py", line 160, in check_config_against_spec_or_exit\n raise Exception("Config validation error: " + validation_error.message) from None\nException: Config validation error: '' is not of type 'integer'\n", "failure_type": "system_error"}}}
88% ████████▉
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_read[inputs0] ✓ 92% █████████▎{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container failed, code 1, error:\n{"type": "TRACE", "trace": {"type": "ERROR", "emitted_at": 1667571293712.079, "error": {"message": "Something went wrong in the connector. See the logs for more details.", "internal_message": "2 validation errors for ConfiguredAirbyteCatalog\nstreams -> 0 -> sync_mode\n value is not a valid enumeration member; permitted: 'full_refresh', 'incremental' (type=type_error.enum; enum_values=[<SyncMode.full_refresh: 'full_refresh'>, <SyncMode.incremental: 'incremental'>])\nstreams -> 0 -> destination_sync_mode\n value is not a valid enumeration member; permitted: 'append', 'overwrite', 'append_dedup' (type=type_error.enum; enum_values=[<DestinationSyncMode.append: 'append'>, <DestinationSyncMode.overwrite: 'overwrite'>, <DestinationSyncMode.append_dedup: 'append_dedup'>])", "stack_trace": "Traceback (most recent call last):\n File \"/airbyte/integration_code/main.py\", line 13, in \n launch(source, sys.argv[1:])\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 131, in launch\n for message in source_entrypoint.run(parsed_args):\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py\", line 119, in run\n config_catalog = self.source.read_catalog(parsed_args.catalog)\n File \"/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/source.py\", line 90, in read_catalog\n return ConfiguredAirbyteCatalog.parse_obj(self.read_config(catalog_path))\n File \"pydantic/main.py\", line 521, in pydantic.main.BaseModel.parse_obj\n File \"pydantic/main.py\", line 341, in pydantic.main.BaseModel.init\npydantic.error_wrappers.ValidationError: 2 validation errors for ConfiguredAirbyteCatalog\nstreams -> 0 -> sync_mode\n value is not a valid enumeration member; permitted: 'full_refresh', 'incremental' (type=type_error.enum; enum_values=[<SyncMode.full_refresh: 'full_refresh'>, <SyncMode.incremental: 'incremental'>])\nstreams -> 0 -> destination_sync_mode\n value is not a valid enumeration member; permitted: 'append', 'overwrite', 'append_dedup' (type=type_error.enum; enum_values=[<DestinationSyncMode.append: 'append'>, <DestinationSyncMode.overwrite: 'overwrite'>, <DestinationSyncMode.append_dedup: 'append_dedup'>])\n", "failure_type": "system_error"}}}\n"}}
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_airbyte_trace_message_on_failure[inputs0] ✓ 96% █████████▋
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_full_refresh.py::TestFullRefresh.test_sequential_reads[inputs0] ✓ 100% ██████████
{"type": "LOG", "log": {"level": "INFO", "message": "/mnt/c/Users/Tino.Merl/Documents/repos/airbyte_fork/airbyte-integrations/connectors/source-linkedin-pages - SAT run - 7dad80e - FAILED"}}
============================================================================================ warnings summary ============================================================================================
../../bases/source-acceptance-test/source_acceptance_test/config.py:246: 26 warnings
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py: 1 warning
/mnt/c/Users/Tino.Merl/Documents/repos/airbyte_fork/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/config.py:246: DeprecationWarning: The 'warn' function is deprecated, use 'warning' instead
logging.warn("The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format.")
-- Docs: https://docs.pytest.org/en/stable/warnings.html
======================================================================================== short test summary info =========================================================================================
SKIPPED [1] ../../bases/source-acceptance-test/source_acceptance_test/plugin.py:63: Skipping TestIncremental.test_two_sequential_reads: not found in the config.
FAILED ../../bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec::test_backward_compatibility[inputs0] - source_acceptance_test.utils.backward_compatibility.NonBackwardCo...
FAILED ../../bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery::test_backward_compatibility[inputs0] - docker.errors.ContainerError: Command 'discover --config /da...
Results (119.29s):
24 passed
1 failed
- airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:169 TestSpec.test_backward_compatibility[inputs0]
1 error