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

🎉 Destination mssql : adding ssh tunnel for normalisation #11204

Merged
merged 8 commits into from
Jun 10, 2022
Merged

🎉 Destination mssql : adding ssh tunnel for normalisation #11204

merged 8 commits into from
Jun 10, 2022

Conversation

hugoJuhel
Copy link
Contributor

@hugoJuhel hugoJuhel commented Mar 16, 2022

What

  • The PR adds support for SSH tunnel to the basic normalization for the mssql-destination connector.
  • Currently, using basic normalization is not supported by the mssql-destination if the server is behind an ssh tunnel. When basic normalisation is requested, DBT tries to connect to the server without using the ssh tunnel. As the mssql-destination already supports both SSH tunneling and basic normalization, it makes sense to make basic normalisation works with ssh tunnel.
  • The PR solve this issue Airbyte basic normalization fails for mssql after successful raw load from Oracle source #7536 .

How

  • The PR adds config interception to airbyte-integrations/bases/base-normalization/normalization/transform_config/transform.py the same way it's done for the other connectors.
  • Since dbt-sqlserver does not work when the host is localhost, the config's host is replaced with 127.0.0.1.

Recommended reading order

  1. airbyte-integrations/bases/base-normalization/normalization/transform_config/transform.py

🚨 User Impact 🚨

  • The PR does not introduce any breaking changes.

Pre-merge Checklist

Updating a connector

Community member or Airbyter

  • Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • Changelog updated in docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
  • PR name follows PR naming conventions

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • If new credentials are required for use in CI, add them to GSM. Instructions.
  • /test connector=connectors/<name> command is passing
  • New Connector version released on Dockerhub by running the /publish command described here
  • After the new connector version is published, connector version bumped in the seed directory as described here
  • Seed specs have been re-generated by building the platform and committing the changes to the seed spec files, as described here
Connector Generator
  • Issue acceptance criteria met
  • PR name follows PR naming conventions
  • If adding a new generator, add it to the list of scaffold modules being tested
  • The generator test modules (all connectors with -scaffold in their name) have been updated with the latest scaffold by running ./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates then checking in your changes
  • Documentation which references the generator is updated as needed

Tests

Unit

�[1m============================= test session starts ==============================�[0m
platform linux -- Python 3.8.10, pytest-6.1.2, py-1.11.0, pluggy-0.13.1 -- /home/juhelh/20_services/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python
cachedir: .pytest_cache
rootdir: /home/juhelh/20_services/airbyte, configfile: pytest.ini
�[1mcollecting ... �[0mcollected 164 items

unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-Postgres-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-BigQuery-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-Snowflake-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-Redshift-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-MySQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Hello World-MSSQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-Postgres-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-BigQuery-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-Snowflake-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-Redshift-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-MySQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[Groups-MSSQL-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-Postgres-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-BigQuery-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-Snowflake-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-Redshift-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-MySQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[100x200-MSSQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-Postgres-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-BigQuery-False] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-Snowflake-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-Redshift-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-MySQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_needs_quote[post.wall-MSSQL-True] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_strip_accents[Hello World!-Hello World!] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_strip_accents[\xe0\xea\xee \xf6\xd9-aei oU] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name-identifier_name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[IDENTIFIER_NAME-IDENTIFIER_NAME] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[123identifier_name-123identifier_name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[i0d0e0n0t0i0f0i0e0r0n0a0m0e-i0d0e0n0t0i0f0i0e0r0n0a0m0e] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name-,identifier+name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name-identifi\xear name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[a_unicode_name
-a_unicode_name
\u6587] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier__name
-identifier__name__] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name_weee-identifier-name.weee] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name-"identifier name"] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_name-identifier name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier_-identifier%] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_transform_standard_naming[identifier-identifier] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-Postgres-{{ adapter.quote('Identifier Name') }}-adapter.quote('Identifier Name')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-BigQuery-Identifier_Name-'Identifier_Name'] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-Snowflake-{{ adapter.quote('Identifier Name') }}-adapter.quote('Identifier Name')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-Redshift-{{ adapter.quote('identifier name') }}-adapter.quote('identifier name')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-MySQL-{{ adapter.quote('Identifier Name') }}-adapter.quote('Identifier Name')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Identifier Name-MSSQL-{{ adapter.quote('Identifier Name') }}-adapter.quote('Identifier Name')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-Postgres-groups-'groups'] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-BigQuery-{{ adapter.quote('Groups') }}-adapter.quote('Groups')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-Snowflake-GROUPS-'GROUPS'] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-Redshift-groups-'groups'] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-MySQL-{{ adapter.quote('Groups') }}-adapter.quote('Groups')] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_column_name[Groups-MSSQL-groups-'groups'] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh-Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh] Truncating from #39 to #39
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iii-Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iii] Truncating from #43 to #43
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iiii-Aaaa_Bbbb_Cccc_Dddd___e_Ffff_Gggg_Hhhh_Iiii] Truncating from #44 to #43
Truncating Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iiii (#44) to Aaaa_Bbbb_Cccc_Dddd__e_Ffff_Gggg_Hhhh_Iiii (#43)
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[Aaaa_Bbbb_Cccc_Dddd_Eeee_a_very_long_name_Ffff_Gggg_Hhhh_Iiii-Aaaa_Bbbb_Cccc_Dddd___e_Ffff_Gggg_Hhhh_Iiii] Truncating from #61 to #43
Truncating Aaaa_Bbbb_Cccc_Dddd_Eeee_a_very_long_name_Ffff_Gggg_Hhhh_Iiii (#61) to Aaaa_Bbbb_Cccc_Dddd__e_Ffff_Gggg_Hhhh_Iiii (#43)
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iiii_Jjjj_Kkkk-Aaaa_Bbbb_Cccc_Dddd___g_Hhhh_Iiii_Jjjj_Kkkk] Truncating from #54 to #43
Truncating Aaaa_Bbbb_Cccc_Dddd_Eeee_Ffff_Gggg_Hhhh_Iiii_Jjjj_Kkkk (#54) to Aaaa_Bbbb_Cccc_Dddd__g_Hhhh_Iiii_Jjjj_Kkkk (#43)
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_truncate_identifier[ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz_0123456789-ABCDEFGHIJKLMNOPQRST__qrstuvwxyz_0123456789] Truncating from #64 to #43
Truncating ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz_0123456789 (#64) to ABCDEFGHIJKLMNOPQRST_qrstuvwxyz_0123456789 (#43)
�[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name1-Postgres-identifier_name1-{{ adapter.quote('Identifier Name1') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name2-BigQuery-Identifier_Name2-Identifier_Name2] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name3-Snowflake-IDENTIFIER_NAME3-{{ adapter.quote('Identifier Name3') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name4-Redshift-identifier_name4-{{ adapter.quote('identifier name4') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name5-MySQL-identifier_name5-{{ adapter.quote('Identifier Name5') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Identifier Name6-MSSQL-identifier_name6-{{ adapter.quote('Identifier Name6') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65871-Postgres-a_unicode_name__1-{{ adapter.quote('a-Unicode_name_\u65871') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65872-BigQuery-a_Unicode_name__2-a_Unicode_name__2] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65873-Snowflake-A_UNICODE_NAME__3-{{ adapter.quote('a-Unicode_name_\u65873') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65874-Redshift-a_unicode_name__4-{{ adapter.quote('a-unicode_name_\u65874') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65875-MySQL-a_unicode_name__5-{{ adapter.quote('a-Unicode_name_\u65875') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[a-Unicode_name_\u65876-MSSQL-a_unicode_name__6-{{ adapter.quote('a-Unicode_name_\u65876') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2001-Postgres-100x2001-{{ adapter.quote('100x2001') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2002-BigQuery-100x2002-_100x2002] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[\u65872_a-Unicode_name-BigQuery-_2_a_Unicode_name-_2_a_Unicode_name] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2003-Snowflake-100x2003-{{ adapter.quote('100x2003') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2004-Redshift-100x2004-{{ adapter.quote('100x2004') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2005-MySQL-100x2005-{{ adapter.quote('100x2005') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[100x2006-MSSQL-_100x2006-{{ adapter.quote('100x2006') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-Postgres-groups-groups] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-BigQuery-Groups-{{ adapter.quote('Groups') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-Snowflake-GROUPS-GROUPS] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-Redshift-groups-groups] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-MySQL-Groups-{{ adapter.quote('Groups') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[Groups-MSSQL-groups-groups] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-Postgres-DisTincT-{{ adapter.quote('DisTincT') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-BigQuery-DisTincT-{{ adapter.quote('DisTincT') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-Snowflake-DisTincT-{{ adapter.quote('DisTincT') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-Redshift-distinct-{{ adapter.quote('distinct') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-MySQL-DisTincT-{{ adapter.quote('DisTincT') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[DisTincT-MSSQL-DisTincT-{{ adapter.quote('DisTincT') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed1 IdenTifiER'-Postgres-quoted1_identifier-{{ adapter.quote('\'QuoTed1 IdenTifiER\'') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed2 IdenTifiER'-BigQuery-QuoTed2_IdenTifiER-QuoTed2_IdenTifiER] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed3 IdenTifiER'-Snowflake-QUOTED3_IDENTIFIER-{{ adapter.quote('\'QuoTed3 IdenTifiER\'') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed4 IdenTifiER'-Redshift-quoted4_identifier-{{ adapter.quote('\'quoted4 identifier\'') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed5 IdenTifiER'-MySQL-quoted5_identifier-{{ adapter.quote('\'QuoTed5 IdenTifiER\'') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name['QuoTed6 IdenTifiER'-MSSQL-quoted6_identifier-{{ adapter.quote('\'QuoTed6 IdenTifiER\'') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed7 IdenTifiER"-Postgres-quoted7_identifier-{{ adapter.quote('""QuoTed7 IdenTifiER""') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed8 IdenTifiER"-BigQuery-QuoTed8_IdenTifiER-QuoTed8_IdenTifiER] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed9 IdenTifiER"-Snowflake-QUOTED9_IDENTIFIER-{{ adapter.quote('""QuoTed9 IdenTifiER""') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed10 IdenTifiER"-Redshift-quoted10_identifier-{{ adapter.quote('""quoted10 identifier""') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed11 IdenTifiER"-MySQL-quoted11_identifier-{{ adapter.quote('"QuoTed11 IdenTifiER"') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name["QuoTed12 IdenTifiER"-MSSQL-quoted12_identifier-{{ adapter.quote('""QuoTed12 IdenTifiER""') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed13 IdenTifiER-Postgres-quoted13_identifier-{{ adapter.quote('QuoTed13 IdenTifiER') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed14 IdenTifiER-BigQuery-QuoTed14_IdenTifiER-QuoTed14_IdenTifiER] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed15 IdenTifiER-Snowflake-QUOTED15_IDENTIFIER-{{ adapter.quote('QuoTed15 IdenTifiER') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed16 IdenTifiER-Redshift-quoted16_identifier-{{ adapter.quote('quoted16 identifier') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed17 IdenTifiER-MySQL-quoted17_identifier-{{ adapter.quote('QuoTed17 IdenTifiER') }}] �[32mPASSED�[0m
unit_tests/test_destination_name_transformer.py::test_normalize_name[QuoTed18 IdenTifiER-MSSQL-quoted18_identifier-{{ adapter.quote('QuoTed18 IdenTifiER') }}] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_cursor_field[None-False-_airbyte_emitted_at] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_cursor_field[cursor_field1-False-updated_at] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_cursor_field[cursor_field2-False-_airbyte_emitted_at] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_cursor_field[cursor_field3-True-nested_field] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key0-string-False-expected_primary_keys0-{{ adapter.quote('id') }}] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key1-number-False-expected_primary_keys1-cast({{ adapter.quote('id') }} as {{ dbt_utils.type_string() }})] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key2-string-False-expected_primary_keys2-first_name, last_name] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key3-number-False-expected_primary_keys3-cast(float_id as {{ dbt_utils.type_string() }})] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key4-string-False-expected_primary_keys4-cast(_airbyte_emitted_at as {{ dbt_utils.type_string() }})] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[None-string-True-expected_primary_keys5-] �[32mPASSED�[0m
unit_tests/test_stream_processor.py::test_primary_key[primary_key6-string-True-expected_primary_keys6-] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.BIGQUERY-long_name_truncate_collisions_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.BIGQUERY-un-nesting_collisions_catalog] WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.BIGQUERY-nested_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.CLICKHOUSE-long_name_truncate_collisions_catalog] Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine (#94) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine_e5a (#85) to postgres_has_a_64_ch_inations_are_fine_e5a (#43)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine_d2b (#98) to postgres_has_a_64_ch_inations_are_fine_d2b (#43)
WARN: Resolving conflict: schema_test.postgres_has_a_64_ch__destinations_are_fine from 'postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_ch__inations_are_fine_e5a
WARN: Resolving conflict: schema_test.postgres_has_a_64_ch__destinations_are_fine from 'postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_ch__inations_are_fine_d2b
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.CLICKHOUSE-un-nesting_collisions_catalog] Truncating _airbyte_other_namespace_simple_b94_stream_name_f9d (#51) to _airbyte_other_names_e_b94_stream_name_f9d (#43)
Truncating _airbyte_yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_bae (#79) to _airbyte_yet_another_e_b94_stream_name_bae (#43)
Truncating yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_5d1 (#70) to yet_another_namespac_e_b94_stream_name_5d1 (#43)
WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.CLICKHOUSE-nested_catalog] Truncating adcreatives_object_story_spec_link_data_image_crops (#51) to adcreatives_object_s_link_data_image_crops (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x72 (#58) to adcreatives_object_s_ta_image_crops_100x72 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_90x160 (#58) to adcreatives_object_s_ta_image_crops_90x160 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x100 (#59) to adcreatives_object_s_a_image_crops_100x100 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_191x100 (#59) to adcreatives_object_s_a_image_crops_191x100 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x150 (#59) to adcreatives_object_s_a_image_crops_400x150 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x500 (#59) to adcreatives_object_s_a_image_crops_400x500 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_600x360 (#59) to adcreatives_object_s_a_image_crops_600x360 (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec (#53) to adcreatives_object_s_nk_data_app_link_spec (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ios (#57) to adcreatives_object_s_ata_app_link_spec_ios (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ipad (#58) to adcreatives_object_s_ta_app_link_spec_ipad (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_iphone (#60) to adcreatives_object_s__app_link_spec_iphone (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_android (#61) to adcreatives_object_s_app_link_spec_android (#43)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MSSQL-long_name_truncate_collisions_catalog] Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine (#94) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine_e5a (#85) to postgres_has_a_64_cha_inations_are_fine_e5a (#44)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine_d2b (#98) to postgres_has_a_64_cha_inations_are_fine_d2b (#44)
WARN: Resolving conflict: schema_test.postgres_has_a_64_cha__destinations_are_fine from 'postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_cha__inations_are_fine_e5a
WARN: Resolving conflict: schema_test.postgres_has_a_64_cha__destinations_are_fine from 'postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_cha__inations_are_fine_d2b
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MSSQL-un-nesting_collisions_catalog] Truncating _airbyte_other_namespace_simple_b94_stream_name_f9d (#51) to _airbyte_other_namesp_e_b94_stream_name_f9d (#44)
Truncating _airbyte_yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_bae (#79) to _airbyte_yet_another__e_b94_stream_name_bae (#44)
Truncating yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_5d1 (#70) to yet_another_namespace_e_b94_stream_name_5d1 (#44)
WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MSSQL-nested_catalog] Truncating adcreatives_object_story_spec_link_data_image_crops (#51) to adcreatives_object_st_link_data_image_crops (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x72 (#58) to adcreatives_object_st_ta_image_crops_100x72 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_90x160 (#58) to adcreatives_object_st_ta_image_crops_90x160 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x100 (#59) to adcreatives_object_st_a_image_crops_100x100 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_191x100 (#59) to adcreatives_object_st_a_image_crops_191x100 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x150 (#59) to adcreatives_object_st_a_image_crops_400x150 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x500 (#59) to adcreatives_object_st_a_image_crops_400x500 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_600x360 (#59) to adcreatives_object_st_a_image_crops_600x360 (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec (#53) to adcreatives_object_st_nk_data_app_link_spec (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ios (#57) to adcreatives_object_st_ata_app_link_spec_ios (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ipad (#58) to adcreatives_object_st_ta_app_link_spec_ipad (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_iphone (#60) to adcreatives_object_st__app_link_spec_iphone (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_android (#61) to adcreatives_object_st_app_link_spec_android (#44)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MYSQL-long_name_truncate_collisions_catalog] Truncating _airbyte_raw_postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#94) to _airbyte_raw_postgres_destinations_are_fine (#44)
Truncating _airbyte_raw_postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#94) to _airbyte_raw_postgres_destinations_are_fine (#44)
Truncating _airbyte_raw_postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine (#107) to _airbyte_raw_postgres_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine (#94) to postgres_has_a_64_cha_destinations_are_fine (#44)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine_e5a (#85) to postgres_has_a_64_cha_inations_are_fine_e5a (#44)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine_d2b (#98) to postgres_has_a_64_cha_inations_are_fine_d2b (#44)
WARN: Resolving conflict: schema_test.postgres_has_a_64_cha__destinations_are_fine from 'postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_cha__inations_are_fine_e5a
WARN: Resolving conflict: schema_test.postgres_has_a_64_cha__destinations_are_fine from 'postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_cha__inations_are_fine_d2b
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MYSQL-un-nesting_collisions_catalog] Truncating _airbyte_other_namespace_simple_b94_stream_name_f9d (#51) to _airbyte_other_namesp_e_b94_stream_name_f9d (#44)
Truncating _airbyte_yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_bae (#79) to _airbyte_yet_another__e_b94_stream_name_bae (#44)
Truncating yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_5d1 (#70) to yet_another_namespace_e_b94_stream_name_5d1 (#44)
WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.MYSQL-nested_catalog] Truncating adcreatives_object_story_spec_link_data_image_crops (#51) to adcreatives_object_st_link_data_image_crops (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x72 (#58) to adcreatives_object_st_ta_image_crops_100x72 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_90x160 (#58) to adcreatives_object_st_ta_image_crops_90x160 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x100 (#59) to adcreatives_object_st_a_image_crops_100x100 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_191x100 (#59) to adcreatives_object_st_a_image_crops_191x100 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x150 (#59) to adcreatives_object_st_a_image_crops_400x150 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x500 (#59) to adcreatives_object_st_a_image_crops_400x500 (#44)
Truncating adcreatives_object_story_spec_link_data_image_crops_600x360 (#59) to adcreatives_object_st_a_image_crops_600x360 (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec (#53) to adcreatives_object_st_nk_data_app_link_spec (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ios (#57) to adcreatives_object_st_ata_app_link_spec_ios (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ipad (#58) to adcreatives_object_st_ta_app_link_spec_ipad (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_iphone (#60) to adcreatives_object_st__app_link_spec_iphone (#44)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_android (#61) to adcreatives_object_st_app_link_spec_android (#44)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.ORACLE-long_name_truncate_collisions_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.ORACLE-un-nesting_collisions_catalog] WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.ORACLE-nested_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.POSTGRES-long_name_truncate_collisions_catalog] Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine (#81) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine (#94) to postgres_has_a_64_ch_destinations_are_fine (#43)
Truncating postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine_e5a (#85) to postgres_has_a_64_ch_inations_are_fine_e5a (#43)
Truncating postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine_d2b (#98) to postgres_has_a_64_ch_inations_are_fine_d2b (#43)
WARN: Resolving conflict: schema_test.postgres_has_a_64_ch__destinations_are_fine from 'postgres_has_a_64_characters_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_ch__inations_are_fine_e5a
WARN: Resolving conflict: schema_test.postgres_has_a_64_ch__destinations_are_fine from 'postgres_has_a_64_characters_and_not_more_limit_to_table_names_but_other_destinations_are_fine' into postgres_has_a_64_ch__inations_are_fine_d2b
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.POSTGRES-un-nesting_collisions_catalog] Truncating _airbyte_other_namespace_simple_b94_stream_name_f9d (#51) to _airbyte_other_names_e_b94_stream_name_f9d (#43)
Truncating _airbyte_yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_bae (#79) to _airbyte_yet_another_e_b94_stream_name_bae (#43)
Truncating yet_another_namespace_with_a_very_long_name_simple_b94_stream_name_5d1 (#70) to yet_another_namespac_e_b94_stream_name_5d1 (#43)
WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.POSTGRES-nested_catalog] Truncating adcreatives_object_story_spec_link_data_image_crops (#51) to adcreatives_object_s_link_data_image_crops (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x72 (#58) to adcreatives_object_s_ta_image_crops_100x72 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_90x160 (#58) to adcreatives_object_s_ta_image_crops_90x160 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_100x100 (#59) to adcreatives_object_s_a_image_crops_100x100 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_191x100 (#59) to adcreatives_object_s_a_image_crops_191x100 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x150 (#59) to adcreatives_object_s_a_image_crops_400x150 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_400x500 (#59) to adcreatives_object_s_a_image_crops_400x500 (#43)
Truncating adcreatives_object_story_spec_link_data_image_crops_600x360 (#59) to adcreatives_object_s_a_image_crops_600x360 (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec (#53) to adcreatives_object_s_nk_data_app_link_spec (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ios (#57) to adcreatives_object_s_ata_app_link_spec_ios (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_ipad (#58) to adcreatives_object_s_ta_app_link_spec_ipad (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_iphone (#60) to adcreatives_object_s__app_link_spec_iphone (#43)
Truncating adcreatives_object_story_spec_link_data_app_link_spec_android (#61) to adcreatives_object_s_app_link_spec_android (#43)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.REDSHIFT-long_name_truncate_collisions_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.REDSHIFT-un-nesting_collisions_catalog] WARN: Resolving conflict: namespace.simple_stream_name from 'simple stream name' into simple_stream_name_f35
WARN: Resolving conflict: namespace.simple_stream_name from 'simple.stream_name' into simple_b94_stream_name
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.REDSHIFT-nested_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.SNOWFLAKE-long_name_truncate_collisions_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.SNOWFLAKE-un-nesting_collisions_catalog] WARN: Resolving conflict: NAMESPACE.SIMPLE_STREAM_NAME from 'simple stream name' into SIMPLE_STREAM_NAME_F35
WARN: Resolving conflict: NAMESPACE.SIMPLE_STREAM_NAME from 'simple.stream_name' into SIMPLE_B94_STREAM_NAME
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_resolve_names[DestinationType.SNOWFLAKE-nested_catalog] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_simple_table_name[json_path0-parent_child-parent_child] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_simple_table_name[json_path1-the_parent_stream_ha___short_substream_name-The_parent_stream_has_a_nested_column_with_a_short_substream_name] Truncating The_parent_stream_has_a_nested_column_with_a_short_substream_name (#65) to The_parent_stream_ha__short_substream_name (#43)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_simple_table_name[json_path2-the_parent_stream_ha__th_a_rather_long_name-The_parent_stream_has_a_nested_column_with_a_substream_with_a_rather_long_name] Truncating The_parent_stream_has_a_nested_column_with_a_substream_with_a_rather_long_name (#78) to The_parent_stream_ha_th_a_rather_long_name (#43)
�[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_nested_hashed_table_name[json_path0-parent_30c_child-parent_30c_child] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_nested_hashed_table_name[json_path1-the_parent_stream__cd9_short_substream_name-The_parent_stream_has_a_nested_column_with_a_cd9_short_substream_name] �[32mPASSED�[0m
unit_tests/test_table_name_registry.py::test_get_nested_hashed_table_name[json_path2-the_parent_0a5_substream_wi__her_long_name-The_parent_stream_has_a_nested_column_with_a_0a5_substream_with_a_rather_long_name] Truncating substream_with_a_rather_long_name (#33) to substream_wi_her_long_name (#27)
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_is_ssh_tunnelling �[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_is_port_free port 13055 is free
port 13055 unsuitable: [Errno 98] Address already in use
port 13055 is free
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_pick_a_port port 50001 is free
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_bigquery transform_bigquery
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_bigquery_no_credentials transform_bigquery
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_bigquery_with_embedded_project_id transform_bigquery
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_bigquery_with_embedded_mismatched_project_id transform_bigquery
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_bigquery_with_invalid_format transform_bigquery
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_postgres transform_postgres
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_postgres_ssh port 50001 is free
transform_postgres
port 50001 is free
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_snowflake transform_snowflake
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_mysql transform_mysql
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_mssql transform_mysql
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform_clickhouse transform_clickhouse
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_transform transform_postgres
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_parse Namespace(config='config.json', integration_type=<DestinationType.postgres: 'postgres'>, out='out.yml')
�[32mPASSED�[0m
unit_tests/test_transform_config.py::TestTransformConfig::test_write_ssh_config �[32mPASSED�[0m

�[32m============================= �[32m�[1m164 passed�[0m�[32m in 1.22s�[0m�[32m ==============================�[0m

Integration

Put your integration tests output here.

Acceptance

Put your acceptance tests output here.

@hugoJuhel hugoJuhel changed the title feat: adding ssh tunnel for normalisation 🎉 Destination mssql : adding ssh tunnel for normalisation Mar 16, 2022
@CLAassistant
Copy link

CLAassistant commented Mar 16, 2022

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@edgao edgao left a comment

Choose a reason for hiding this comment

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

lgtm!

@grishick / @alafanechere do you want me to publish this or will you handle it?

@grishick
Copy link
Contributor

grishick commented Jun 7, 2022

@edgao please publish. I actually don't know how to publish normalization changes.

@github-actions github-actions bot added area/documentation Improvements or additions to documentation area/platform issues related to the platform area/worker Related to worker normalization labels Jun 9, 2022
@edgao
Copy link
Contributor

edgao commented Jun 9, 2022

(apologies for the spam; using a different computer from usual and accidentally committed without signing)

@edgao
Copy link
Contributor

edgao commented Jun 9, 2022

/publish connector=bases/base-normalization

🕑 bases/base-normalization https://github.com/airbytehq/airbyte/actions/runs/2465644159
❌ Failed to publish bases/base-normalization
❌ Couldn't auto-bump version for bases/base-normalization

@edgao
Copy link
Contributor

edgao commented Jun 9, 2022

looks like tests are failing on master; skipping tests for publish

@edgao
Copy link
Contributor

edgao commented Jun 9, 2022

/publish connector=bases/base-normalization run-tests=false

🕑 bases/base-normalization https://github.com/airbytehq/airbyte/actions/runs/2470511822
❌ Failed to publish bases/base-normalization
❌ Couldn't auto-bump version for bases/base-normalization

@github-actions github-actions bot removed area/platform issues related to the platform area/worker Related to worker labels Jun 10, 2022
@github-actions github-actions bot added the area/platform issues related to the platform label Jun 10, 2022
@github-actions github-actions bot added the area/worker Related to worker label Jun 10, 2022
@edgao
Copy link
Contributor

edgao commented Jun 10, 2022

/publish connector=bases/base-normalization run-tests=false

🕑 bases/base-normalization https://github.com/airbytehq/airbyte/actions/runs/2477383518
🚀 Successfully published bases/base-normalization
❌ Couldn't auto-bump version for bases/base-normalization

@edgao
Copy link
Contributor

edgao commented Jun 10, 2022

autobump doesn't work on normalization because it's not present in the catalog. images were published successfully; merging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Improvements or additions to documentation area/platform issues related to the platform area/worker Related to worker community normalization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants