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

🎉 New Source: Adjust #16051

Merged
merged 12 commits into from
Sep 26, 2022
Merged

Conversation

sbjorn
Copy link
Contributor

@sbjorn sbjorn commented Aug 28, 2022

What

This adds a source connector for ingesting data from the reports API at Adjust. We stitched this together internally at Choose to get daily reports ingested into our DWH.

How

The Adjust reports API is queried to ingest desired metrics/dimensions.

Pre-merge Checklist

Expand the relevant checklist and delete the others.

New Connector

Community member or Airbyter

  • Community member? 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
    • docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
    • docs/integrations/README.md
    • airbyte-integrations/builds.md
  • 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 connector is published, connector added to connector index 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

Tests

Unit
 airbyte-integrations/connectors/source-adjust/unit_tests/test_incremental_streams.py::test_cursor_field ✓                                                                                             6% ▋         
 airbyte-integrations/connectors/source-adjust/unit_tests/test_incremental_streams.py::test_stream_slices ✓                                                                                           12% █▎        
 airbyte-integrations/connectors/source-adjust/unit_tests/test_incremental_streams.py::test_supports_incremental ✓                                                                                    18% █▊        
 airbyte-integrations/connectors/source-adjust/unit_tests/test_incremental_streams.py::test_source_defined_cursor ✓                                                                                   24% ██▍       
 airbyte-integrations/connectors/source-adjust/unit_tests/test_incremental_streams.py::test_stream_checkpoint_interval ✓                                                                              29% ██▉       
 airbyte-integrations/connectors/source-adjust/unit_tests/test_source.py::test_check_connection ✓                                                                                                     35% ███▌      
 airbyte-integrations/connectors/source-adjust/unit_tests/test_source.py::test_streams ✓                                                                                                              41% ████▎     
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_request_params ✓                                                                                                      47% ████▊     
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_next_page_token ✓                                                                                                     53% █████▍    
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_parse_response ✓                                                                                                      59% █████▉    
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_request_headers ✓                                                                                                     65% ██████▌   
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_http_method ✓                                                                                                         71% ███████▏  
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_should_retry[HTTPStatus.OK-False] ✓                                                                                   76% ███████▋  
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_should_retry[HTTPStatus.BAD_REQUEST-False] ✓                                                                          82% ████████▎ 
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_should_retry[HTTPStatus.TOO_MANY_REQUESTS-True] ✓                                                                     88% ████████▉ 
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_should_retry[HTTPStatus.INTERNAL_SERVER_ERROR-True] ✓                                                                 94% █████████▌
 airbyte-integrations/connectors/source-adjust/unit_tests/test_streams.py::test_backoff_time ✓                                                                                                       100% ██████████
Integration

$ ./gradlew :airbyte-integrations:connectors:source-adjust:integrationTest
Building all of Airbyte.
/airbyte/airbyte-integrations/connectors
Type-safe dependency accessors is an incubating feature.

Configure project :airbyte-cdk:python
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release

Task :airbyte-integrations:connectors:source-adjust:checkPython
Using python 3.9.13 from /airbyte/airbyte-integrations/connectors/source-adjust/.venv (.venv/bin/python)
Using pip 22.0.4 from /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/pip (python 3.9)

Task :airbyte-integrations:bases:source-acceptance-test:checkPython
Using python 3.9.13 from /airbyte/venv (python3)
Using pip 22.0.4 from /airbyte/venv/lib/python3.9/site-packages/pip (python 3.9)
WARNING: Global python is already a virtualenv: '/airbyte/venv/bin'. New environment would be created based on it: '.venv'. In most cases, everything would work as expected.
Using virtualenv 20.4.2 from /airbyte/venv/lib/python3.9/site-packages/virtualenv/init.py (in '.venv')
[python] python3 -m virtualenv .venv
created virtual environment CPython3.9.13.final.0-64 in 217ms
creator CPython3Posix(dest=/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=//.local/share/virtualenv)
added seed packages: pip==22.1.2, setuptools==63.3.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Using python 3.9.13 from /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv (.venv/bin/python)
Using pip 22.1.2 from /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/pip (python 3.9)

Task :airbyte-integrations:bases:base-normalization:checkPython
Using python 3.9.13 from /airbyte/venv (python3)
Using pip 22.0.4 from /airbyte/venv/lib/python3.9/site-packages/pip (python 3.9)
WARNING: Global python is already a virtualenv: '/airbyte/venv/bin'. New environment would be created based on it: '.venv'. In most cases, everything would work as expected.
Using virtualenv 20.4.2 from /airbyte/venv/lib/python3.9/site-packages/virtualenv/init.py (in '.venv')
[python] python3 -m virtualenv .venv
created virtual environment CPython3.9.13.final.0-64 in 221ms
creator CPython3Posix(dest=/airbyte/airbyte-integrations/bases/base-normalization/.venv, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=//.local/share/virtualenv)
added seed packages: pip==22.1.2, setuptools==63.3.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Using python 3.9.13 from /airbyte/airbyte-integrations/bases/base-normalization/.venv (.venv/bin/python)
Using pip 22.1.2 from /airbyte/airbyte-integrations/bases/base-normalization/.venv/lib/python3.9/site-packages/pip (python 3.9)

Task :airbyte-integrations:connectors:source-adjust:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
Collecting pip==21.3.1
Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.0.4
Uninstalling pip-22.0.4:
Successfully uninstalled pip-22.0.4
Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
Collecting mccabe==0.6.1
Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Installing collected packages: mccabe
Successfully installed mccabe-0.6.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
Collecting flake8==4.0.1
Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
Collecting pyflakes<2.5.0,>=2.4.0
Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
Collecting pycodestyle<2.9.0,>=2.8.0
Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
Installing collected packages: pyflakes, pycodestyle, flake8
Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
Collecting pyproject-flake8==0.0.1a2
Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (0.10.2)
Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
Installing collected packages: pyproject-flake8
Successfully installed pyproject-flake8-0.0.1a2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
Collecting black==22.3.0
Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
Collecting pathspec>=0.9.0
Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting platformdirs>=2
Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from black==22.3.0) (2.0.1)
Collecting click>=8.0.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Requirement already satisfied: typing-extensions>=3.10.0.0 in ./.venv/lib/python3.9/site-packages (from black==22.3.0) (4.3.0)
Collecting mypy-extensions>=0.4.3
Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Installing collected packages: platformdirs, pathspec, mypy-extensions, click, black
Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.9.0 platformdirs-2.5.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
Collecting mypy==0.930
Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
Installing collected packages: mypy
Successfully installed mypy-0.930
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
Collecting isort==5.6.4
Using cached isort-5.6.4-py3-none-any.whl (98 kB)
Installing collected packages: isort
Successfully installed isort-5.6.4
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
Collecting pytest==6.1.2
Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
Requirement already satisfied: packaging in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (21.3)
Requirement already satisfied: py>=1.8.2 in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (1.11.0)
Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (1.1.1)
Requirement already satisfied: attrs>=17.4.0 in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (22.1.0)
Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
Collecting pluggy<1.0,>=0.12
Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./.venv/lib/python3.9/site-packages (from packaging->pytest==6.1.2) (3.0.9)
Installing collected packages: pluggy, pytest
Attempting uninstall: pluggy
Found existing installation: pluggy 1.0.0
Uninstalling pluggy-1.0.0:
Successfully uninstalled pluggy-1.0.0
Attempting uninstall: pytest
Found existing installation: pytest 6.2.5
Uninstalling pytest-6.2.5:
Successfully uninstalled pytest-6.2.5
Successfully installed pluggy-0.13.1 pytest-6.1.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
Collecting coverage[toml]==6.3.1
Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
Installing collected packages: coverage
Attempting uninstall: coverage
Found existing installation: coverage 6.4.4
Uninstalling coverage-6.4.4:
Successfully uninstalled coverage-6.4.4
Successfully installed coverage-6.3.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip list --format=columns
Package Version Editable project location
---------------------- --------- ------------------------------------------------------------------------------------
airbyte-cdk 0.1.80
attrs 22.1.0
backoff 2.1.2
black 22.3.0
certifi 2022.6.15
charset-normalizer 2.1.1
click 8.1.3
coverage 6.3.1
dataclasses-jsonschema 2.15.1
deepdiff 5.8.1
Deprecated 1.2.13
docker 5.0.3
dpath 2.0.6
exceptiongroup 1.0.0rc9
fancycompleter 0.9.1
flake8 4.0.1
hypothesis 6.54.4
hypothesis-jsonschema 0.20.1
icdiff 1.9.1
idna 3.3
inflection 0.5.1
iniconfig 1.1.1
isort 5.6.4
Jinja2 3.1.2
jsonref 0.2
jsonschema 3.2.0
MarkupSafe 2.1.1
mccabe 0.6.1
multidict 6.0.2
mypy 0.930
mypy-extensions 0.4.3
ordered-set 4.1.0
packaging 21.3
pathspec 0.9.0
pdbpp 0.10.3
pendulum 2.1.2
pip 21.3.1
platformdirs 2.5.2
pluggy 0.13.1
pprintpp 0.4.0
py 1.11.0
pycodestyle 2.8.0
pydantic 1.9.2
pyflakes 2.4.0
Pygments 2.13.0
pyparsing 3.0.9
pyproject-flake8 0.0.1a2
pyrepl 0.9.0
pyrsistent 0.18.1
pytest 6.1.2
pytest-cov 3.0.0
pytest-mock 3.6.1
pytest-sugar 0.9.5
pytest-timeout 1.4.2
python-dateutil 2.8.2
pytzdata 2020.1
PyYAML 5.4.1
requests 2.28.1
requests-mock 1.9.3
setuptools 58.1.0
six 1.16.0
sortedcontainers 2.4.0
source-acceptance-test 0.0.0 /airbyte/airbyte-integrations/bases/source-acceptance-test
source-adjust 0.0.0 /airbyte/airbyte-integrations/connectors/source-adjust
termcolor 1.1.0
toml 0.10.2
tomli 2.0.1
typing_extensions 4.3.0
urllib3 1.26.12
vcrpy 4.2.0
websocket-client 1.4.0
wmctrl 0.4
wrapt 1.14.1
yarl 1.8.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.

Task :airbyte-integrations:bases:base-normalization:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
Collecting pip==21.3.1
Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.1.2
Uninstalling pip-22.1.2:
Successfully uninstalled pip-22.1.2
Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
Collecting mccabe==0.6.1
Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Installing collected packages: mccabe
Successfully installed mccabe-0.6.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
Collecting flake8==4.0.1
Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
Collecting pycodestyle<2.9.0,>=2.8.0
Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
Collecting pyflakes<2.5.0,>=2.4.0
Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
Installing collected packages: pyflakes, pycodestyle, flake8
Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
Collecting pyproject-flake8==0.0.1a2
Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
Collecting toml
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
Installing collected packages: toml, pyproject-flake8
Successfully installed pyproject-flake8-0.0.1a2 toml-0.10.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
Collecting black==22.3.0
Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
Collecting pathspec>=0.9.0
Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting typing-extensions>=3.10.0.0
Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Collecting tomli>=1.1.0
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting mypy-extensions>=0.4.3
Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting click>=8.0.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting platformdirs>=2
Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
Installing collected packages: typing-extensions, tomli, platformdirs, pathspec, mypy-extensions, click, black
Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.9.0 platformdirs-2.5.2 tomli-2.0.1 typing-extensions-4.3.0
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
Collecting mypy==0.930
Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
Installing collected packages: mypy
Successfully installed mypy-0.930
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
Collecting isort==5.6.4
Using cached isort-5.6.4-py3-none-any.whl (98 kB)
Installing collected packages: isort
Successfully installed isort-5.6.4
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
Collecting pytest==6.1.2
Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
Collecting packaging
Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting iniconfig
Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
Collecting attrs>=17.4.0
Using cached attrs-22.1.0-py2.py3-none-any.whl (58 kB)
Collecting py>=1.8.2
Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting pluggy<1.0,>=0.12
Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Installing collected packages: pyparsing, py, pluggy, packaging, iniconfig, attrs, pytest
Successfully installed attrs-22.1.0 iniconfig-1.1.1 packaging-21.3 pluggy-0.13.1 py-1.11.0 pyparsing-3.0.9 pytest-6.1.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
Collecting coverage[toml]==6.3.1
Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
Installing collected packages: coverage
Successfully installed coverage-6.3.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip list --format=columns
Package Version
----------------- -------
attrs 22.1.0
black 22.3.0
click 8.1.3
coverage 6.3.1
flake8 4.0.1
iniconfig 1.1.1
isort 5.6.4
mccabe 0.6.1
mypy 0.930
mypy-extensions 0.4.3
packaging 21.3
pathspec 0.9.0
pip 21.3.1
platformdirs 2.5.2
pluggy 0.13.1
py 1.11.0
pycodestyle 2.8.0
pyflakes 2.4.0
pyparsing 3.0.9
pyproject-flake8 0.0.1a2
pytest 6.1.2
setuptools 63.3.0
toml 0.10.2
tomli 2.0.1
typing_extensions 4.3.0
wheel 0.37.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.

Task :airbyte-integrations:bases:source-acceptance-test:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
Collecting pip==21.3.1
Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.1.2
Uninstalling pip-22.1.2:
Successfully uninstalled pip-22.1.2
Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
Collecting mccabe==0.6.1
Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Installing collected packages: mccabe
Successfully installed mccabe-0.6.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
Collecting flake8==4.0.1
Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
Collecting pyflakes<2.5.0,>=2.4.0
Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
Collecting pycodestyle<2.9.0,>=2.8.0
Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
Installing collected packages: pyflakes, pycodestyle, flake8
Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
Collecting pyproject-flake8==0.0.1a2
Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
Collecting toml
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
Installing collected packages: toml, pyproject-flake8
Successfully installed pyproject-flake8-0.0.1a2 toml-0.10.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
Collecting black==22.3.0
Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
Collecting pathspec>=0.9.0
Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting click>=8.0.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting platformdirs>=2
Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
Collecting tomli>=1.1.0
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting mypy-extensions>=0.4.3
Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting typing-extensions>=3.10.0.0
Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Installing collected packages: typing-extensions, tomli, platformdirs, pathspec, mypy-extensions, click, black
Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.9.0 platformdirs-2.5.2 tomli-2.0.1 typing-extensions-4.3.0
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
Collecting mypy==0.930
Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
Installing collected packages: mypy
Successfully installed mypy-0.930
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
Collecting isort==5.6.4
Using cached isort-5.6.4-py3-none-any.whl (98 kB)
Installing collected packages: isort
Successfully installed isort-5.6.4
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
Collecting pytest==6.1.2
Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
Collecting iniconfig
Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
Collecting packaging
Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting py>=1.8.2
Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting attrs>=17.4.0
Using cached attrs-22.1.0-py2.py3-none-any.whl (58 kB)
Collecting pluggy<1.0,>=0.12
Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Installing collected packages: pyparsing, py, pluggy, packaging, iniconfig, attrs, pytest
Successfully installed attrs-22.1.0 iniconfig-1.1.1 packaging-21.3 pluggy-0.13.1 py-1.11.0 pyparsing-3.0.9 pytest-6.1.2
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
Collecting coverage[toml]==6.3.1
Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
Installing collected packages: coverage
Successfully installed coverage-6.3.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip list --format=columns
Package Version
----------------- -------
attrs 22.1.0
black 22.3.0
click 8.1.3
coverage 6.3.1
flake8 4.0.1
iniconfig 1.1.1
isort 5.6.4
mccabe 0.6.1
mypy 0.930
mypy-extensions 0.4.3
packaging 21.3
pathspec 0.9.0
pip 21.3.1
platformdirs 2.5.2
pluggy 0.13.1
py 1.11.0
pycodestyle 2.8.0
pyflakes 2.4.0
pyparsing 3.0.9
pyproject-flake8 0.0.1a2
pytest 6.1.2
setuptools 63.3.0
toml 0.10.2
tomli 2.0.1
typing_extensions 4.3.0
wheel 0.37.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

Task :airbyte-integrations:connectors:source-adjust:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./
Skipped 10 files

Task :airbyte-integrations:connectors:source-adjust:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
All done! ✨ 🍰 ✨
11 files left unchanged.

Task :airbyte-integrations:connectors:source-adjust:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

Task :airbyte-integrations:bases:source-acceptance-test:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./
Skipped 9 files

Task :airbyte-integrations:bases:source-acceptance-test:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
All done! ✨ 🍰 ✨
28 files left unchanged.

Task :airbyte-integrations:bases:base-normalization:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./

Task :airbyte-integrations:bases:source-acceptance-test:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

Task :airbyte-integrations:bases:source-acceptance-test:installLocalReqs
[python] .venv/bin/python -m pip install .[dev,tests]
Processing /airbyte/airbyte-integrations/bases/source-acceptance-test
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
WARNING: source-acceptance-test 0.0.0 does not provide the extra 'dev'
WARNING: source-acceptance-test 0.0.0 does not provide the extra 'tests'
Collecting airbyte-cdk~=0.1.56
Using cached airbyte_cdk-0.1.80-py3-none-any.whl (227 kB)
Collecting docker~=5.0.3
Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
Collecting PyYAML~=5.4
Using cached PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
Collecting icdiff~=1.9
Using cached icdiff-1.9.1-py3-none-any.whl
Collecting inflection~=0.5
Using cached inflection-0.5.1-py2.py3-none-any.whl (9.5 kB)
Collecting pdbpp~=0.10
Using cached pdbpp-0.10.3-py2.py3-none-any.whl (23 kB)
Collecting pydantic~=1.6
Using cached pydantic-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB)
Requirement already satisfied: pytest~=6.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (6.1.2)
Collecting pytest-sugar~=0.9
Using cached pytest_sugar-0.9.5-py2.py3-none-any.whl (9.0 kB)
Collecting pytest-timeout~=1.4
Using cached pytest_timeout-1.4.2-py2.py3-none-any.whl (10 kB)
Collecting pprintpp~=0.4
Using cached pprintpp-0.4.0-py2.py3-none-any.whl (16 kB)
Collecting dpath~=2.0.1
Using cached dpath-2.0.6-py3-none-any.whl (15 kB)
Collecting jsonschema~=3.2.0
Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting jsonref==0.2
Using cached jsonref-0.2-py3-none-any.whl (9.3 kB)
Collecting deepdiff~=5.8.0
Using cached deepdiff-5.8.1-py3-none-any.whl (69 kB)
Collecting requests-mock~=1.9.3
Using cached requests_mock-1.9.3-py2.py3-none-any.whl (27 kB)
Collecting pytest-mock~=3.6.1
Using cached pytest_mock-3.6.1-py3-none-any.whl (12 kB)
Collecting pytest-cov~=3.0.0
Using cached pytest_cov-3.0.0-py3-none-any.whl (20 kB)
Collecting hypothesis~=6.54.1
Using cached hypothesis-6.54.4-py3-none-any.whl (390 kB)
Collecting hypothesis-jsonschema~=0.20.1
Using cached hypothesis_jsonschema-0.20.1-py3-none-any.whl (28 kB)
Collecting pendulum
Using cached pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl (155 kB)
Collecting requests
Using cached requests-2.28.1-py3-none-any.whl (62 kB)
Collecting vcrpy
Using cached vcrpy-4.2.0-py2.py3-none-any.whl (40 kB)
Collecting dataclasses-jsonschema~=2.15.1
Using cached dataclasses_jsonschema-2.15.1-py3-none-any.whl (17 kB)
Collecting backoff
Using cached backoff-2.1.2-py3-none-any.whl (14 kB)

Task :airbyte-integrations:bases:base-normalization:isortFormat
Skipped 3 files

Task :airbyte-integrations:bases:base-normalization:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
All done! ✨ 🍰 ✨
24 files left unchanged.

Task :airbyte-integrations:bases:base-normalization:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

Task :airbyte-integrations:bases:source-acceptance-test:installLocalReqs
Collecting Jinja2~=3.1.2
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting Deprecated~=1.2
Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting ordered-set<4.2.0,>=4.1.0
Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Collecting websocket-client>=0.32.0
Using cached websocket_client-1.4.0-py3-none-any.whl (54 kB)
Collecting sortedcontainers<3.0.0,>=2.1.0
Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting exceptiongroup>=1.0.0rc8
Using cached exceptiongroup-1.0.0rc9-py3-none-any.whl (12 kB)
Requirement already satisfied: attrs>=19.2.0 in ./.venv/lib/python3.9/site-packages (from hypothesis~=6.54.1->source-acceptance-test==0.0.0) (22.1.0)
Requirement already satisfied: setuptools in ./.venv/lib/python3.9/site-packages (from jsonschema~=3.2.0->source-acceptance-test==0.0.0) (63.3.0)
Collecting six>=1.11.0
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pyrsistent>=0.14.0
Using cached pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (115 kB)
Collecting fancycompleter>=0.8
Using cached fancycompleter-0.9.1-py3-none-any.whl (9.7 kB)
Collecting pygments
Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Collecting wmctrl
Using cached wmctrl-0.4-py3-none-any.whl
Requirement already satisfied: typing-extensions>=3.7.4.3 in ./.venv/lib/python3.9/site-packages (from pydantic~=1.6->source-acceptance-test==0.0.0) (4.3.0)
Requirement already satisfied: packaging in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (21.3)
Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (1.1.1)
Requirement already satisfied: pluggy<1.0,>=0.12 in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (0.13.1)
Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (0.10.2)
Requirement already satisfied: py>=1.8.2 in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (1.11.0)
Requirement already satisfied: coverage[toml]>=5.2.1 in ./.venv/lib/python3.9/site-packages (from pytest-cov~=3.0.0->source-acceptance-test==0.0.0) (6.3.1)
Collecting termcolor>=1.1.0
Using cached termcolor-1.1.0-py3-none-any.whl
Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]>=5.2.1->pytest-cov~=3.0.0->source-acceptance-test==0.0.0) (2.0.1)
Collecting python-dateutil
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting wrapt<2,>=1.10
Using cached wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (77 kB)
Collecting pyrepl>=0.8.2
Using cached pyrepl-0.9.0-py3-none-any.whl
Collecting MarkupSafe>=2.0
Using cached MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./.venv/lib/python3.9/site-packages (from packaging->pytest~=6.1->source-acceptance-test==0.0.0) (3.0.9)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting charset-normalizer<3,>=2
Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting certifi>=2017.4.17
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting pytzdata>=2020.1
Using cached pytzdata-2020.1-py2.py3-none-any.whl (489 kB)
Collecting yarl
Using cached yarl-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264 kB)
Collecting multidict>=4.0
Using cached multidict-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
Building wheels for collected packages: source-acceptance-test
Building wheel for source-acceptance-test (setup.py): started
Building wheel for source-acceptance-test (setup.py): finished with status 'done'
Created wheel for source-acceptance-test: filename=source_acceptance_test-0.0.0-py3-none-any.whl size=53680 sha256=ed07545d4d90ca13785dbafe09db5aaa3101150fb7668188391f207f9f9d32e0
Stored in directory: //.cache/pip/wheels/d4/2d/cb/f8fa252dfa1b9695859cceaeea899554bd0f03a176288c59a5
Successfully built source-acceptance-test
Installing collected packages: six, pyrsistent, multidict, idna, yarl, wrapt, urllib3, sortedcontainers, PyYAML, pytzdata, python-dateutil, pyrepl, MarkupSafe, jsonschema, exceptiongroup, charset-normalizer, certifi, wmctrl, websocket-client, vcrpy, termcolor, requests, pygments, pydantic, pendulum, ordered-set, jsonref, Jinja2, hypothesis, fancycompleter, dpath, Deprecated, dataclasses-jsonschema, backoff, requests-mock, pytest-timeout, pytest-sugar, pytest-mock, pytest-cov, pprintpp, pdbpp, inflection, icdiff, hypothesis-jsonschema, docker, deepdiff, airbyte-cdk, source-acceptance-test
Successfully installed Deprecated-1.2.13 Jinja2-3.1.2 MarkupSafe-2.1.1 PyYAML-5.4.1 airbyte-cdk-0.1.80 backoff-2.1.2 certifi-2022.6.15 charset-normalizer-2.1.1 dataclasses-jsonschema-2.15.1 deepdiff-5.8.1 docker-5.0.3 dpath-2.0.6 exceptiongroup-1.0.0rc9 fancycompleter-0.9.1 hypothesis-6.54.4 hypothesis-jsonschema-0.20.1 icdiff-1.9.1 idna-3.3 inflection-0.5.1 jsonref-0.2 jsonschema-3.2.0 multidict-6.0.2 ordered-set-4.1.0 pdbpp-0.10.3 pendulum-2.1.2 pprintpp-0.4.0 pydantic-1.9.2 pygments-2.13.0 pyrepl-0.9.0 pyrsistent-0.18.1 pytest-cov-3.0.0 pytest-mock-3.6.1 pytest-sugar-0.9.5 pytest-timeout-1.4.2 python-dateutil-2.8.2 pytzdata-2020.1 requests-2.28.1 requests-mock-1.9.3 six-1.16.0 sortedcontainers-2.4.0 source-acceptance-test-0.0.0 termcolor-1.1.0 urllib3-1.26.12 vcrpy-4.2.0 websocket-client-1.4.0 wmctrl-0.4 wrapt-1.14.1 yarl-1.8.1
WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

Task :airbyte-integrations:connectors:source-adjust:_unitTestCoverage
[python] .venv/bin/python -m coverage run --data-file=unit_tests/.coverage.unitTest --rcfile=/airbyte/pyproject.toml -m pytest -s unit_tests -c /airbyte/pyproject.toml
============================= test session starts ==============================
platform linux -- Python 3.9.13, pytest-6.1.2, py-1.11.0, pluggy-0.13.1 -- /airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/airbyte/airbyte-integrations/connectors/source-adjust/.hypothesis/examples')
rootdir: /airbyte/airbyte-integrations/connectors/source-adjust/unit_tests, configfile: ../../../../pyproject.toml
plugins: hypothesis-6.54.4, requests-mock-1.9.3, timeout-1.4.2, sugar-0.9.5, mock-3.6.1, cov-3.0.0
collecting ... collected 17 items

     unit_tests/test_incremental_streams.py::test_cursor_field PASSED
     unit_tests/test_incremental_streams.py::test_stream_slices PASSED
     unit_tests/test_incremental_streams.py::test_supports_incremental PASSED
     unit_tests/test_incremental_streams.py::test_source_defined_cursor PASSED
     unit_tests/test_incremental_streams.py::test_stream_checkpoint_interval PASSED
     unit_tests/test_source.py::test_check_connection PASSED
     unit_tests/test_source.py::test_streams PASSED
     unit_tests/test_streams.py::test_request_params PASSED
     unit_tests/test_streams.py::test_next_page_token PASSED
     unit_tests/test_streams.py::test_parse_response PASSED
     unit_tests/test_streams.py::test_request_headers PASSED
     unit_tests/test_streams.py::test_http_method PASSED
     unit_tests/test_streams.py::test_should_retry[HTTPStatus.OK-False] PASSED
     unit_tests/test_streams.py::test_should_retry[HTTPStatus.BAD_REQUEST-False] PASSED
     unit_tests/test_streams.py::test_should_retry[HTTPStatus.TOO_MANY_REQUESTS-True] PASSED
     unit_tests/test_streams.py::test_should_retry[HTTPStatus.INTERNAL_SERVER_ERROR-True] PASSED
     unit_tests/test_streams.py::test_backoff_time PASSED
     
     =============================== warnings summary ===============================
     test_incremental_streams.py: 5 warnings
     test_source.py: 1 warning
     test_streams.py: 10 warnings
       /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/airbyte_cdk/sources/streams/http/http.py:41: DeprecationWarning: Call to deprecated class NoAuth. (Set `authenticator=None` instead) -- Deprecated since version 0.1.20.
         self._authenticator: HttpAuthenticator = NoAuth()
     
     test_incremental_streams.py: 5 warnings
     test_source.py: 1 warning
     test_streams.py: 10 warnings
       /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/deprecated/classic.py:173: DeprecationWarning: Call to deprecated class HttpAuthenticator. (Use requests.auth.AuthBase instead) -- Deprecated since version 0.1.20.
         return old_new1(cls, *args, **kwargs)
     
     -- Docs: https://docs.pytest.org/en/stable/warnings.html
     ======================= 17 passed, 32 warnings in 1.03s ========================

Task :airbyte-integrations:connectors:source-adjust:unitTest
Name Stmts Miss Cover


source_adjust/init.py 2 0 100%
source_adjust/model.py 116 6 95%
source_adjust/source.py 106 35 67%

TOTAL 224 41 82%

Task :airbyte-integrations:bases:source-acceptance-test:_unitTestCoverage
[python] .venv/bin/python -m coverage run --data-file=unit_tests/.coverage.unitTest --rcfile=/airbyte/pyproject.toml -m pytest -s unit_tests -c pytest.ini
Test session starts (platform: linux, Python 3.9.13, pytest 6.1.2, pytest-sugar 0.9.5)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/airbyte/airbyte-integrations/bases/source-acceptance-test/.hypothesis/examples')
rootdir: /airbyte/airbyte-integrations/bases/source-acceptance-test/unit_tests, configfile: ../pytest.ini
plugins: hypothesis-6.54.4, requests-mock-1.9.3, timeout-1.4.2, sugar-0.9.5, mock-3.6.1, cov-3.0.0
collecting ...

      test_asserts.py::test_verify_records_schema ✓                     0%           
      test_asserts.py::test_validate_records_format[record0-configured_catalog0-False] ✓1% ▏         
      test_asserts.py::test_validate_records_format[record1-configured_catalog1-False] ✓1% ▏         
      test_asserts.py::test_validate_records_format[record2-configured_catalog2-False] ✓1% ▎         
      test_asserts.py::test_validate_records_format[record3-configured_catalog3-False] ✓2% ▎         
      test_asserts.py::test_validate_records_format[record4-configured_catalog4-True] ✓2% ▎         
      test_asserts.py::test_validate_records_format[record5-configured_catalog5-False] ✓2% ▎         
      test_asserts.py::test_validate_records_format[record6-configured_catalog6-True] ✓3% ▍         
      test_asserts.py::test_validate_records_format[record7-configured_catalog7-False] ✓3% ▍         
      test_asserts.py::test_validate_records_format[record8-configured_catalog8-False] ✓3% ▍         
      test_asserts.py::test_validate_records_format[record9-configured_catalog9-True] ✓4% ▍         
      test_asserts.py::test_validate_records_format[record10-configured_catalog10-True] ✓4% ▍         
      test_asserts.py::test_validate_records_format[record11-configured_catalog11-True] ✓4% ▌         
      test_asserts.py::test_validate_records_format[record12-configured_catalog12-True] ✓5% ▌         
      test_asserts.py::test_validate_records_format[record13-configured_catalog13-False] ✓5% ▌         
      test_asserts.py::test_validate_records_format[record14-configured_catalog14-False] ✓5% ▌         
      test_asserts.py::test_validate_records_format[record15-configured_catalog15-False] ✓6% ▋         
      test_asserts.py::test_validate_records_format[record16-configured_catalog16-True] ✓6% ▋         
      test_asserts.py::test_validate_records_format[record17-configured_catalog17-False] ✓6% ▋         
      test_asserts.py::test_validate_records_format[record18-configured_catalog18-True] ✓7% ▋         
      test_asserts.py::test_validate_records_format[record19-configured_catalog19-True] ✓7% ▊         
      test_asserts.py::test_validate_records_format[record20-configured_catalog20-True] ✓7% ▊         
      test_asserts.py::test_validate_records_format[record21-configured_catalog21-False] ✓7% ▊         
      test_asserts.py::test_validate_records_format[record22-configured_catalog22-False] ✓8% ▊         
      test_asserts.py::test_validate_records_format[record23-configured_catalog23-True] ✓8% ▊         
      test_asserts.py::test_validate_records_format[record24-configured_catalog24-True] ✓8% ▉         
      test_asserts.py::test_validate_records_format[record25-configured_catalog25-False] ✓9% ▉         
      test_asserts.py::test_validate_records_format[record26-configured_catalog26-False] ✓9% ▉         
      test_asserts.py::test_validate_records_format[record27-configured_catalog27-True] ✓9% ▉         
      test_asserts.py::test_validate_records_format[record28-configured_catalog28-False] ✓10% █         
      test_asserts.py::test_validate_records_format[record29-configured_catalog29-True] ✓10% █         
      test_asserts.py::test_validate_records_format[record30-configured_catalog30-True] ✓10% █▏        
      test_asserts.py::test_validate_records_format[record31-configured_catalog31-True] ✓11% █▏        
      test_backward_compatibility.py::test_spec_backward_compatibility[Top level: declaring the required field should fail.] ✓11% █▎        
      test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: adding the required field should fail.] ✓11% █▎        
      test_backward_compatibility.py::test_spec_backward_compatibility[Top level: adding a new required property should fail.] ✓12% █▎        
      test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: adding a new required property should fail.] ✓12% █▎        
      test_backward_compatibility.py::test_spec_backward_compatibility[Nullable: Making a field not nullable should fail (not in a list).] ✓12% █▎        
      test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Narrowing a field type should fail.] ✓13% █▍        
      test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Making a field not nullable should fail] ✓13% █▍        
      test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type should fail.] ✓13% █▍        
      test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a string to a list with a different type value should fail.] ✓14% █▍        
      test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type should fail from a list to string with different value should fail.] ✓14% █▌        
      test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type in list should fail.] ✓14% █▌        

Task :airbyte-integrations:connectors:source-adjust:airbyteDocker
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
Execution optimizations have been disabled for task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' to ensure correctness due to the following reasons:

  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:compileTestJava' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:pmdMain' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:pmdTest' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:processTestResources' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:spotbugsMain' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  • Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:spotbugsTest' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
    WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
    WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
    checkin catalogs #1 [internal] load build definition from Dockerfile
    checkin catalogs #1 sha256:e426b7f5e3e429e36067444c02bd0935c767a72afccf8d8152c534c03665ce6d
    checkin catalogs #1 transferring dockerfile: 1.09kB done
    checkin catalogs #1 DONE 0.0s

#2 [internal] load .dockerignore
#2 sha256:9ccb735854447cfd73f922fc3f7fa268e4d84edd8941642b06d9774ceaf3fb21
#2 transferring context: 97B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/python:3.9.11-alpine3.15
#3 sha256:615609793cad3a170d91fb8a37323caa348ca31e0a749e824da4c8c1d8da2aa4
#3 DONE 0.0s

#4 [base 1/1] FROM docker.io/library/python:3.9.11-alpine3.15
#4 sha256:b26982ea68e566f4418f23b00585fceb8074e00082fc1e7cf2b85346f39804e3
#4 DONE 0.0s

#7 [internal] load build context
#7 sha256:562c9122fd7b387ad72ca3bca2609a2e9bbd7606ef2b1a232e8d9e0e5627cc43
#7 transferring context: 46.89kB done
#7 DONE 0.1s

#10 [stage-2 2/7] COPY --from=builder /install /usr/local
#10 sha256:139210fa8e9431916210eac40e667d370a2473f9310c746985e1d7b7dd3bc80a
#10 CACHED

#5 [builder 1/4] WORKDIR /airbyte/integration_code
#5 sha256:519943ee918f3d1ec01a319ff0276a627a319f59b692954112b24434e9387dff
#5 CACHED

#11 [stage-2 3/7] COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
#11 sha256:1c30f1233193733d8883645fcbd85e3de471311188b7d4e7931c34c8e152087b
#11 CACHED

#12 [stage-2 4/7] RUN echo "Etc/UTC" > /etc/timezone
#12 sha256:36c3f086d0368137c79a27002e2c41e1e3075b497467408ff55906ea7d712eee
#12 CACHED

#8 [builder 3/4] COPY setup.py ./
#8 sha256:c944bad2c672b79aa0d42cefa9a89019b2038e85690103f6e733b2948688dea5
#8 CACHED

#6 [builder 2/4] RUN apk --no-cache upgrade && pip install --upgrade pip && apk --no-cache add tzdata build-base
#6 sha256:780e00211f02e5b1d80f59f0bbd4172193f30cfb3904193af99be9e6bc4f9f6a
#6 CACHED

#9 [builder 4/4] RUN pip install --prefix=/install .
#9 sha256:2bfd9f93afeaf5ef693718fec8d43074db51bbe80b2d36cb83885fac6992da63
#9 CACHED

#13 [stage-2 5/7] RUN apk --no-cache add bash
#13 sha256:b8ecf3fe906d22b05e6c5c3a467ad9d926b8eb6b73c42131add9a697ef6f7add
#13 CACHED

#14 [stage-2 6/7] COPY main.py ./
#14 sha256:48426654b68916c815255881f0290da826ff94e04a06875e6f366929564c6f41
#14 CACHED

#15 [stage-2 7/7] COPY source_adjust ./source_adjust
#15 sha256:4791ff0f6b2cf9d869bd9ae6716d1a23d0cf7b7f7c48c2a770e7094dc3acad31
#15 CACHED

#16 exporting to image
#16 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#16 exporting layers done
#16 writing image sha256:043d58f347df1f73ba2b69f09564562eb9c6568ad920c1b15b8aff57b79a700d done
#16 naming to docker.io/airbyte/source-adjust:dev done
#16 DONE 0.1s

Task :airbyte-integrations:bases:source-acceptance-test:_unitTestCoverage
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable and changing type should fail.] ✓15% █▌
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable and changing type should fail (change list order).] ✓15% █▌
test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Changing a field type should fail] ✓15% █▌
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type in oneOf should fail.] ✓16% █▋
test_backward_compatibility.py::test_spec_backward_compatibility[Narrowing a field type in oneOf should fail.] ✓16% █▋
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Narrowing a field enum should fail.] ✓16% █▋
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Narrowing a field enum should fail.] ✓17% █▋
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Declaring a field enum should fail.] ✓17% █▊
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Declaring a field enum should fail.] ✓17% █▊
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a 'type' field from a string to something else than a list should fail.] ✓18% █▊
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a 'type' field from a list to something else than a string should fail.] ✓18% █▊
test_backward_compatibility.py::test_spec_backward_compatibility[Not changing a spec should not fail] ✓18% █▉
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Changing the value of additionalProperties should not fail] ✓19% █▉
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Changing the value of additionalProperties should not fail] ✓19% █▉
test_backward_compatibility.py::test_spec_backward_compatibility[Adding an optional field should not fail.] ✓19% █▉
test_backward_compatibility.py::test_spec_backward_compatibility[Adding an optional object with required properties should not fail.] ✓20% █▉
test_backward_compatibility.py::test_spec_backward_compatibility[No change should not fail.] ✓20% ██
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a list to a string with same value should not fail.] ✓20% ██
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a string to a list should not fail.] ✓21% ██▏
test_backward_compatibility.py::test_spec_backward_compatibility[Adding a field type in list should not fail.] ✓21% ██▏
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail.] ✓21% ██▎
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (change list order).] ✓21% ██▎
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (from a list).] ✓22% ██▎
test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (from a list, changing order).] ✓22% ██▎
test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Changing order should not fail] ✓22% ██▎
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Expanding a field type should not fail.] ✓23% ██▍
test_backward_compatibility.py::test_spec_backward_compatibility[Changing a order in oneOf should not fail.] ✓23% ██▍
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Expanding a field enum should not fail.] ✓23% ██▍
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Expanding a field enum should not fail.] ✓24% ██▍
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Adding a new optional field with enum should not fail.] ✓24% ██▌
test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Removing the field enum should not fail.] ✓24% ██▌
test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Removing the enum field should not fail.] ✓25% ██▌
test_backward_compatibility.py::test_validate_previous_configs[Top level: declaring the required field should fail.] ✓25% ██▌
test_backward_compatibility.py::test_validate_previous_configs[Nested level: adding the required field should fail.] ✓25% ██▋
test_backward_compatibility.py::test_validate_previous_configs[Top level: adding a new required property should fail.] ✓26% ██▋
test_backward_compatibility.py::test_validate_previous_configs[Nested level: adding a new required property should fail.] ✓26% ██▋
test_backward_compatibility.py::test_validate_previous_configs[Nullable: Making a field not nullable should fail (not in a list).] ✓26% ██▋
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Narrowing a field type should fail.] ✓27% ██▋
test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Making a field not nullable should fail] ✓27% ██▊
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type should fail.] ✓27% ██▊
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a string to a list with a different type value should fail.] ✓28% ██▊
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type should fail from a list to string with different value should fail.] ✓28% ██▊
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type in list should fail.] ✓28% ██▉
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable and changing type should fail.] ✓29% ██▉
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable and changing type should fail (change list order).] ✓29% ██▉
test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Changing a field type should fail] ✓29% ██▉
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type in oneOf should fail.] ✓30% ██▉
test_backward_compatibility.py::test_validate_previous_configs[Narrowing a field type in oneOf should fail.] ✓30% ███
test_backward_compatibility.py::test_validate_previous_configs[Top level: Narrowing a field enum should fail.] ✓30% ███
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Narrowing a field enum should fail.] ✓31% ███▏
test_backward_compatibility.py::test_validate_previous_configs[Top level: Declaring a field enum should fail.] ✓31% ███▏
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Declaring a field enum should fail.] ✓31% ███▎
test_backward_compatibility.py::test_validate_previous_configs[Not changing a spec should not fail] ✓32% ███▎
test_backward_compatibility.py::test_validate_previous_configs[Top level: Changing the value of additionalProperties should not fail] ✓32% ███▎
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Changing the value of additionalProperties should not fail] ✓32% ███▎
test_backward_compatibility.py::test_validate_previous_configs[Adding an optional field should not fail.] ✓33% ███▍
test_backward_compatibility.py::test_validate_previous_configs[Adding an optional object with required properties should not fail.] ✓33% ███▍
test_backward_compatibility.py::test_validate_previous_configs[No change should not fail.] ✓33% ███▍
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a list to a string with same value should not fail.] ✓34% ███▍
test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a string to a list should not fail.] ✓34% ███▍
test_backward_compatibility.py::test_validate_previous_configs[Adding a field type in list should not fail.] ✓34% ███▌
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail.] ✓35% ███▌
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (change list order).] ✓35% ███▌
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (from a list).] ✓35% ███▌
test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (from a list, changing order).] ✓36% ███▋
test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Changing order should not fail] ✓36% ███▋
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Expanding a field type should not fail.] ✓36% ███▋
test_backward_compatibility.py::test_validate_previous_configs[Changing a order in oneOf should not fail.] ✓36% ███▋
test_backward_compatibility.py::test_validate_previous_configs[Top level: Expanding a field enum should not fail.] ✓37% ███▊
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Expanding a field enum should not fail.] ✓37% ███▊
test_backward_compatibility.py::test_validate_previous_configs[Top level: Adding a new optional field with enum should not fail.] ✓37% ███▊
test_backward_compatibility.py::test_validate_previous_configs[Top level: Removing the field enum should not fail.] ✓38% ███▊
test_backward_compatibility.py::test_validate_previous_configs[Nested level: Removing the enum field should not fail.] ✓38% ███▊
test_backward_compatibility.py::test_catalog_backward_compatibility[Removing a stream from a catalog should fail.] ✓38% ███▉
test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a field type should fail.] ✓39% ███▉
test_backward_compatibility.py::test_catalog_backward_compatibility[Renaming a stream should fail.] ✓39% ███▉
test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail.] ✓39% ███▉
test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail (nested cursors).] ✓40% ████
test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail (nested cursors removal).] ✓40% ████
test_backward_compatibility.py::test_catalog_backward_compatibility[Adding a stream but changing cursor should fail.] ✓40% ████▏
test_backward_compatibility.py::test_catalog_backward_compatibility[Adding a stream to a catalog should not fail.] ✓41% ████▏
test_backward_compatibility.py::test_catalog_backward_compatibility[Making a field nullable should not fail.] ✓41% ████▏
test_backward_compatibility.py::test_catalog_backward_compatibility[Changing 'type' field to list should not fail.] ✓41% ████▎
test_backward_compatibility.py::test_catalog_backward_compatibility[Removing a field should not fail.] ✓42% ████▎
test_backward_compatibility.py::test_catalog_backward_compatibility[Not changing a cursor in a stream should not fail.] ✓42% ████▎
test_core.py::test_discovery[schema0-cursors0-True] ✓ 42% ████▎
test_core.py::test_discovery[schema1-cursors1-False] ✓ 43% ████▍
test_core.py::test_discovery[schema2-cursors2-True] ✓ 43% ████▍
test_core.py::test_discovery[schema3-cursors3-True] ✓ 43% ████▍
test_core.py::test_discovery[schema4-cursors4-False] ✓ 44% ████▍
test_core.py::test_discovery[schema5-cursors5-True] ✓ 44% ████▌
test_core.py::test_ref_in_discovery_schemas[schema0-False] ✓ 44% ████▌
test_core.py::test_ref_in_discovery_schemas[schema1-True] ✓ 45% ████▌
test_core.py::test_ref_in_discovery_schemas[schema2-True] ✓ 45% ████▌
test_core.py::test_ref_in_discovery_schemas[schema3-True] ✓ 45% ████▌
test_core.py::test_ref_in_discovery_schemas[schema4-False] ✓ 46% ████▋
test_core.py::test_ref_in_discovery_schemas[schema5-True] ✓ 46% ████▋
test_core.py::test_ref_in_discovery_schemas[schema6-True] ✓ 46% ████▋
test_core.py::test_keyword_in_discovery_schemas[schema0-allOf-False] ✓47% ████▋
test_core.py::test_keyword_in_discovery_schemas[schema1-allOf-True] ✓47% ████▊
test_core.py::test_keyword_in_discovery_schemas[schema2-allOf-False] ✓47% ████▊
test_core.py::test_keyword_in_discovery_schemas[schema3-allOf-True] ✓48% ████▊
test_core.py::test_keyword_in_discovery_schemas[schema4-allOf-True] ✓48% ████▊
test_core.py::test_keyword_in_discovery_schemas[schema5-allOf-True] ✓48% ████▊
test_core.py::test_keyword_in_discovery_schemas[schema6-not-True] ✓49% ████▉
test_core.py::test_keyword_in_discovery_schemas[schema7-not-False] ✓49% ████▉
test_core.py::test_keyword_in_discovery_schemas[schema8-not-True] ✓49% ████▉
test_core.py::test_supported_sync_modes_in_stream[discovered_catalog0-expectation0] ✓50% ████▉
test_core.py::test_supported_sync_modes_in_stream[discovered_catalog1-expectation1] ✓50% █████
test_core.py::test_supported_sync_modes_in_stream[discovered_catalog2-expectation2] ✓50% █████
test_core.py::test_supported_sync_modes_in_stream[discovered_catalog3-expectation3] ✓50% █████▏
test_core.py::test_supported_sync_modes_in_stream[discovered_catalog4-expectation4] ✓51% █████▏
test_core.py::test_additional_properties_is_true[discovered_catalog0-expectation0] ✓51% █████▎
test_core.py::test_additional_properties_is_true[discovered_catalog1-expectation1] ✓51% █████▎
test_core.py::test_additional_properties_is_true[discovered_catalog2-expectation2] ✓52% █████▎
test_core.py::test_additional_properties_is_true[discovered_catalog3-expectation3] ✓52% █████▎
test_core.py::test_additional_properties_is_true[discovered_catalog4-expectation4] ✓52% █████▎
test_core.py::test_additional_properties_is_true[discovered_catalog5-expectation5] ✓53% █████▍
test_core.py::test_read[schema0-record0-False] ✓ 53% █████▍
test_core.py::test_read[schema1-record1-False] ✓ 53% █████▍
test_core.py::test_read[schema2-record2-True] ✓ 54% █████▍
test_core.py::test_read[schema3-record3-False] ✓ 54% █████▌
test_core.py::test_read[schema4-record4-True] ✓ 54% █████▌
test_core.py::test_read[schema5-record5-False] ✓ 55% █████▌
test_core.py::test_airbyte_trace_message_on_failure[output0-True-False] ✓55% █████▌
test_core.py::test_airbyte_trace_message_on_failure[output1-True-False] ✓55% █████▋
test_core.py::test_airbyte_trace_message_on_failure[output2-True-False] ✓56% █████▋
test_core.py::test_airbyte_trace_message_on_failure[output3-True-True] ✓56% █████▋
test_core.py::test_airbyte_trace_message_on_failure[output4-True-True] ✓56% █████▋
test_core.py::test_airbyte_trace_message_on_failure[output5-False-False] ✓57% █████▋
test_core.py::test_airbyte_trace_message_on_failure[output6-False-False] ✓57% █████▊
test_core.py::test_airbyte_trace_message_on_failure[output7-False-False] ✓57% █████▊
test_core.py::test_validate_field_appears_at_least_once[records0-configured_catalog0-] ✓58% █████▊
test_core.py::test_validate_field_appears_at_least_once[records1-configured_catalog1-test1 stream has \\['/f2'\\]] ✓58% █████▊
test_core.py::test_validate_field_appears_at_least_once[records2-configured_catalog2-] ✓58% █████▉
test_core.py::test_validate_field_appears_at_least_once[records3-configured_catalog3-] ✓59% █████▉
test_core.py::test_validate_field_appears_at_least_once[records4-configured_catalog4-test1 stream has \\['/f3/\\[\\]'\\]] ✓59% █████▉
test_core.py::test_validate_field_appears_at_least_once[records5-configured_catalog5-] ✓59% █████▉
test_core.py::test_validate_field_appears_at_least_once[records6-configured_catalog6-test1 stream has \\['/f3/f5/\\[\\]'\\]] ✓60% █████▉
test_core.py::test_validate_field_appears_at_least_once[records7-configured_catalog7-test1 stream has \\['/f3/f5/\\[\\]/f6', '/f3/f5/\\[\\]/f7/\\[\\]'\\]] ✓60% ██████
test_core.py::test_validate_field_appears_at_least_once[records8-configured_catalog8-] ✓60% ██████
test_core.py::test_validate_field_appears_at_least_once[records9-configured_catalog9-(test1 stream has \\['/f3/f5/\\[\\]/f7/\\[\\]'])|(test2 \\['/f8'\\])] ✓61% ██████▏
test_core.py::test_validate_field_appears_at_least_once[records10-configured_catalog10-] ✓61% ██████▏
test_core.py::test_validate_field_appears_at_least_once[records11-configured_catalog11-] ✓61% ██████▎
test_core.py::test_validate_field_appears_at_least_once[records12-configured_catalog12-test1 stream has \\['/f3\\(0\\)/f4', '/f3\\(1\\)/f5\\(0\\)/f6', '/f3\\(1\\)/f5\\(1\\)/f7'\\]] ✓62% ██████▎
test_incremental.py::test_compare_cursor_with_threshold[record_value0-state_value0-0-True] ✓62% ██████▎
test_incremental.py::test_compare_cursor_with_threshold[record_value1-state_value1-0-False] ✓62% ██████▎
test_incremental.py::test_compare_cursor_with_threshold[record_value2-state_value2-1-True] ✓63% ██████▍
test_incremental.py::test_compare_cursor_with_threshold[record_value3-state_value3-0-True] ✓63% ██████▍
test_incremental.py::test_compare_cursor_with_threshold[record_value4-state_value4-0-False] ✓63% ██████▍
test_incremental.py::test_compare_cursor_with_threshold[record_value5-state_value5-1-True] ✓64% ██████▍
test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-09-0-True] ✓64% ██████▍
test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-11-0-False] ✓64% ██████▌
test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-11-1-True] ✓64% ██████▌
test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602201600000-0-True] ✓65% ██████▌
test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602374400000-0-False] ✓65% ██████▌
test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602374400000-1-True] ✓65% ██████▋
test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602201600-0-True] ✓66% ██████▋
test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602374400-0-False] ✓66% ██████▋
test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602374400-1-True] ✓66% ██████▋
test_incremental.py::test_compare_cursor_with_threshold[aaa-bbb-0-False] ✓67% ██████▋
test_incremental.py::test_compare_cursor_with_threshold[bbb-aaa-0-True] ✓67% ██████▊
test_incremental.py::test_incremental_two_sequential_reads[records10-records20-2020-01-02-0-None-date] ✓67% ██████▊
test_incremental.py::test_incremental_two_sequential_reads[records10-records20-2020-01-02-0-None-string] ✓68% ██████▊
test_incremental.py::test_incremental_two_sequential_reads[records11-records21-2020-01-02-0-First incremental sync should produce records younger-date] ✓68% ██████▊
test_incremental.py::test_incremental_two_sequential_reads[records11-records21-2020-01-02-0-First incremental sync should produce records younger-string] ✓68% ██████▉
test_incremental.py::test_incremental_two_sequential_reads[records12-records22-2020-01-02-0-None-date] ✓69% ██████▉
test_incremental.py::test_incremental_two_sequential_reads[records12-records22-2020-01-02-0-None-string] ✓69% ██████▉
test_incremental.py::test_incremental_two_sequential_reads[records13-records23-2020-01-02-0-Second incremental sync should produce records older-date] ✓69% ██████▉
test_incremental.py::test_incremental_two_sequential_reads[records13-records23-2020-01-02-0-Second incremental sync should produce records older-string] ✓70% ███████
test_incremental.py::test_incremental_two_sequential_reads[records14-records24-2020-01-03-2-None-date] ✓70% ███████
test_incremental.py::test_incremental_two_sequential_reads[records14-records24-2020-01-03-2-None-string] ✓70% ███████▏
test_incremental.py::test_incremental_two_sequential_reads[records15-records25-2020-01-02-2-First incremental sync should produce records younger-date] ✓71% ███████▏
test_incremental.py::test_incremental_two_sequential_reads[records15-records25-2020-01-02-2-First incremental sync should produce records younger-string] ✓71% ███████▏
test_incremental.py::test_incremental_two_sequential_reads[records16-records26-2020-01-06-3-Second incremental sync should produce records older-date] ✓71% ███████▎
test_incremental.py::test_incremental_two_sequential_reads[records16-records26-2020-01-06-3-Second incremental sync should produce records older-string] ✓72% ███████▎
test_incremental.py::test_read_with_multiple_states[test_incremental_with_2_states-records0-state_records0-0-None] ✓72% ███████▎
test_incremental.py::test_read_with_multiple_states[test_first_incremental_only_younger_records-records1-state_records1-0-AssertionError] ✓72% ███████▎
test_incremental.py::test_read_with_multiple_states[test_incremental_with_threshold-records2-state_records2-3-None] ✓73% ███████▍
test_incremental.py::test_read_with_multiple_states[test_incremental_with_incorrect_messages-records3-state_records3-0-AssertionError] ✓73% ███████▍
test_incremental.py::test_read_with_multiple_states[test_incremental_with_multiple_streams-records4-state_records4-0-None] ✓73% ███████▍
test_incremental.py::test_read_with_multiple_states[test_incremental_with_none_state-records5-state_records5-0-None] ✓74% ███████▍
test_incremental.py::test_config_skip_test ✓ 74% ███████▌
test_json_schema_helper.py::test_simple_path ✓ 74% ███████▌
test_json_schema_helper.py::test_nested_path ✓ 75% ███████▌
test_json_schema_helper.py::test_absolute_path ✓ 75% ███████▌
test_json_schema_helper.py::test_none_state ✓ 75% ███████▌
test_json_schema_helper.py::test_json_schema_helper_pydantic_generated ✓76% ███████▋
test_json_schema_helper.py::test_get_object_strucutre[object0-pathes0] ✓76% ███████▋
test_json_schema_helper.py::test_get_object_strucutre[object1-pathes1] ✓76% ███████▋
test_json_schema_helper.py::test_get_object_strucutre[object2-pathes2] ✓77% ███████▋
test_json_schema_helper.py::test_get_object_strucutre[object3-pathes3] ✓77% ███████▊
test_json_schema_helper.py::test_get_object_strucutre[object4-pathes4] ✓77% ███████▊
test_json_schema_helper.py::test_get_object_strucutre[object5-pathes5] ✓78% ███████▊
test_json_schema_helper.py::test_get_object_strucutre[object6-pathes6] ✓78% ███████▊
test_json_schema_helper.py::test_get_expected_schema_structure[schema0-pathes0] ✓78% ███████▊
test_json_schema_helper.py::test_get_expected_schema_structure[schema1-pathes1] ✓79% ███████▉
test_json_schema_helper.py::test_get_expected_schema_structure[schema2-pathes2] ✓79% ███████▉
test_json_schema_helper.py::test_get_expected_schema_structure[schema3-pathes3] ✓79% ███████▉
test_json_schema_helper.py::test_get_expected_schema_structure[schema4-pathes4] ✓79% ███████▉
test_json_schema_helper.py::test_get_expected_schema_structure[schema5-pathes5] ✓80% ████████
test_json_schema_helper.py::test_get_expected_schema_structure[schema6-pathes6] ✓80% ████████
test_json_schema_helper.py::test_get_expected_schema_structure[schema7-pathes7] ✓80% ████████▏
test_json_schema_helper.py::test_get_expected_schema_structure[schema8-pathes8] ✓81% ████████▏
test_json_schema_helper.py::test_get_expected_schema_structure[schema9-pathes9] ✓81% ████████▎
test_spec.py::test_ref_in_spec_schemas[connector_spec0-True] ✓ 81% ████████▎
test_spec.py::test_ref_in_spec_schemas[connector_spec1-True] ✓ 82% ████████▎
test_spec.py::test_ref_in_spec_schemas[connector_spec2-True] ✓ 82% ████████▎
test_spec.py::test_ref_in_spec_schemas[connector_spec3-True] ✓ 82% ████████▎
test_spec.py::test_ref_in_spec_schemas[connector_spec4-False] ✓ 83% ████████▍
test_spec.py::test_ref_in_spec_schemas[connector_spec5-False] ✓ 83% ████████▍
test_spec.py::test_ref_in_spec_schemas[connector_spec6-True] ✓ 83% ████████▍
test_spec.py::test_ref_in_spec_schemas[connector_spec7-True] ✓ 84% ████████▍
test_spec.py::test_ref_in_spec_schemas[connector_spec8-True] ✓ 84% ████████▌
test_spec.py::test_ref_in_spec_schemas[connector_spec9-False] ✓ 84% ████████▌
test_spec.py::test_ref_in_spec_schemas[connector_spec10-True] ✓ 85% ████████▌
test_spec.py::test_oneof_usage[all_good] ✓ 85% ████████▌
test_spec.py::test_oneof_usage[top_level_node_is_not_of_object_type] ✓85% ████████▌
test_spec.py::test_oneof_usage[all_oneof_options_should_have_same_constant_attribute] ✓86% ████████▋
test_spec.py::test_oneof_usage[one_of_item_is_not_of_type_object] ✓86% ████████▋
test_spec.py::test_oneof_usage[no_common_property_for_all_oneof_subobjects] ✓86% ████████▋
test_spec.py::test_oneof_usage[two_common_properties_with_const_keyword] ✓87% ████████▋
test_spec.py::test_oneof_usage[default_keyword_in_common_property] ✓87% ████████▊
test_spec.py::test_validate_oauth_flow[connector_spec0-] ✓ 87% ████████▊
test_spec.py::test_validate_oauth_flow[connector_spec1-Specified oauth fields are missed from spec schema:] ✓88% ████████▊
test_spec.py::test_validate_oauth_flow[connector_spec2-] ✓ 88% ████████▊
test_spec.py::test_validate_oauth_flow[connector_spec3-Specified oauth fields are missed from spec schema:] ✓88% ████████▉
test_spec.py::test_validate_oauth_flow[connector_spec4-] ✓ 89% ████████▉
test_spec.py::test_validate_oauth_flow[connector_spec5-] ✓ 89% ████████▉
test_spec.py::test_validate_oauth_flow[connector_spec6-Specified oauth fields are missed from spec schema:] ✓89% ████████▉
test_spec.py::test_validate_oauth_flow[connector_spec7-] ✓ 90% ████████▉
test_spec.py::test_additional_properties_is_true[connector_spec0-expectation0] ✓90% █████████
test_spec.py::test_additional_properties_is_true[connector_spec1-expectation1] ✓90% █████████
test_spec.py::test_additional_properties_is_true[connector_spec2-expectation2] ✓91% █████████▏
test_spec.py::test_additional_properties_is_true[connector_spec3-expectation3] ✓91% █████████▏
test_spec.py::test_additional_properties_is_true[connector_spec4-expectation4] ✓91% █████████▎
test_spec_unit.py::TestEnvAttributes.test_correct_connector_image ✓92% █████████▎
test_spec_unit.py::TestEnvAttributes.test_connector_image_without_env ✓92% █████████▎
test_spec_unit.py::TestEnvAttributes.test_docker_image_env_ne_entrypoint ✓92% █████████▎
test_test_full_refresh.py::test_read_with_ignore_fields[no_ignored_fields_present] ✓93% █████████▍
test_test_full_refresh.py::test_read_with_ignore_fields[with_ignored_field] ✓93% █████████▍
test_test_full_refresh.py::test_read_with_ignore_fields[ignore_field_present_but_a_required_is_not] ✓93% █████████▍
test_utils.py::test_compare_two_records_nested_with_different_orders[obj10-obj20-True] ✓93% █████████▍
test_utils.py::test_compare_two_records_nested_with_different_orders[obj11-obj21-True] ✓94% █████████▍
test_utils.py::test_compare_two_records_nested_with_different_orders[obj12-obj22-False] ✓94% █████████▌
test_utils.py::test_compare_two_records_nested_with_different_orders[obj13-obj23-False] ✓94% █████████▌
test_utils.py::test_compare_two_records_nested_with_different_orders[obj14-obj24-True] ✓95% █████████▌
test_utils.py::test_compare_two_records_nested_with_different_orders[obj15-obj25-True] ✓95% █████████▌
test_utils.py::test_compare_two_records_nested_with_different_orders[obj16-obj26-False] ✓95% █████████▋
test_utils.py::test_exclude_fields ✓ 96% █████████▋
test_utils.py::test_successful_logs_reading ✓ 96% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nSome Container Error"}}

      test_utils.py::test_failed_reading[interal_error] ✓              96% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nTraceback (most recent call last):\n  File \"<stdin>\", line 1, in <module>\nKeyError: 'bbbb'"}}
     
      test_utils.py::test_failed_reading[traceback] ✓                  97% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nLast Container Logs Line"}}
     e-integrations:bases:source-acceptance-test:_unitTestCoverage
      test_utils.py::test_failed_reading[last_line] ✓                  97% █████████▊
      test_utils.py::test_docker_runner[standard] ✓                    97% █████████▊
      test_utils.py::test_docker_runner[waiting] ✓                     98% █████████▊
      test_utils.py::test_not_found_container ✓                        98% █████████▊
      test_utils.py::TestLoadYamlOrJsonPath.test_load_json ✓           98% █████████▉
      test_utils.py::TestLoadYamlOrJsonPath.test_load_yaml ✓           99% █████████▉
      test_utils.py::TestLoadYamlOrJsonPath.test_load_other ✓          99% █████████▉
      test_utils.py::test_find_all_values_for_key_in_schema[schema0-looking_for_this_key-expected_values0] ✓99% █████████▉
      test_utils.py::test_find_all_values_for_key_in_schema[schema1-looking_for_this_key-expected_values1] ✓99% ██████████
      test_utils.py::test_find_all_values_for_key_in_schema[schema2-looking_for_this_key-expected_values2] ✓100% ██████████=============================== warnings summary ===============================
     source_acceptance_test/tests/test_core.py:170
       /airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:170: PytestUnknownMarkWarning: Unknown pytest.mark.backward_compatibility - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
         @pytest.mark.backward_compatibility
     
     source_acceptance_test/tests/test_core.py:311
       /airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:311: PytestUnknownMarkWarning: Unknown pytest.mark.backward_compatibility - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
         @pytest.mark.backward_compatibility
     
     test_spec_unit.py: 9 warnings
     test_utils.py: 4 warnings
       /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/docker/utils/utils.py:52: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
         s1 = StrictVersion(v1)
     
     test_spec_unit.py: 9 warnings
     test_utils.py: 4 warnings
       /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/docker/utils/utils.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
         s2 = StrictVersion(v2)
     
     -- Docs: https://docs.pytest.org/en/stable/warnings.html
     
     ---------- coverage: platform linux, python 3.9.13-final-0 -----------
     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_full_refresh.py       52      2    96%   34, 65
     source_acceptance_test/tests/test_incremental.py       121     25    79%   21-23, 29-31, 36-43, 48-61, 208-216
     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       110     48    56%   23-26, 32, 36, 39-64, 67-69, 72-74, 77-79, 82-84, 87-89, 92-110, 144-146
     source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
     ----------------------------------------------------------------------------------
     TOTAL                                                 1322    463    65%
     
     4 files skipped due to complete coverage.
     
     Required test coverage of 64.0% reached. Total coverage: 64.98%
     
     Results (320.42s):
          307 passed
     /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/coverage/control.py:788: CoverageWarning: No data was collected. (no-data-collected)
       self._warn("No data was collected.", slug="no-data-collected")

Task :airbyte-integrations:bases:source-acceptance-test:unitTest
No data to report.

Task :airbyte-integrations:bases:source-acceptance-test:airbyteDocker
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
#1 [internal] load build definition from Dockerfile
#1 sha256:eefa0571f79ba5de4c244b74c3cbab20c84e15a95eb3e09c0d493944a009e154
#1 transferring dockerfile: 1.21kB done
#1 DONE 0.0s

#2 [internal] load .dockerignore
#2 sha256:e427b2599ab24d2575b3d21668a7acff91b11aeb0cb1dbb80dfd19f621b3455d
#2 transferring context: 100B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/python:3.9.11-alpine3.15
#3 sha256:615609793cad3a170d91fb8a37323caa348ca31e0a749e824da4c8c1d8da2aa4
#3 DONE 0.0s

#4 [base 1/1] FROM docker.io/library/python:3.9.11-alpine3.15
#4 sha256:b26982ea68e566f4418f23b00585fceb8074e00082fc1e7cf2b85346f39804e3
#4 DONE 0.0s

#8 [internal] load build context
#8 sha256:23e8cb126c397b411a35499a0b912927f754ddfb29f3ab7ec52768d0c2e10af4
#8 transferring context: 222.57kB done
#8 DONE 0.0s

#10 [builder 4/5] RUN python setup.py egg_info
#10 sha256:5a0d196da5eddf7e73496ff7bf22227d807390f4c66708fb94843b5781548fa6
#10 CACHED

#13 [stage-2 3/8] COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
#13 sha256:64296d902288275de4bac9b20e42d6172504d622cc70e2af82e5904453367e3a
#13 CACHED

#11 [builder 5/5] RUN pip install --prefix=/install -r *.egg-info/requires.txt
#11 sha256:75045d7aac1a839f9737b84da12ad8adcabb6c2fb96dc74d5e181421ea2db64f
#11 CACHED

#5 [stage-2 1/8] WORKDIR /airbyte/source_acceptance_test
#5 sha256:677495ad6746870e5ae1f2b6082de383d8be7121d20f7274b70ec719a6809222
#5 CACHED

#7 [builder 2/5] RUN apk --no-cache upgrade && pip install --upgrade pip && apk --no-cache add tzdata build-base
#7 sha256:780e00211f02e5b1d80f59f0bbd4172193f30cfb3904193af99be9e6bc4f9f6a
#7 CACHED

#15 [stage-2 5/8] RUN apk --no-cache add bash
#15 sha256:9a7e024e1575c9ca45893391d60ca7172783ecc0073f1aaf849e80fe521ada59
#15 CACHED

#6 [builder 1/5] WORKDIR /airbyte/integration_code
#6 sha256:519943ee918f3d1ec01a319ff0276a627a319f59b692954112b24434e9387dff
#6 CACHED

#16 [stage-2 6/8] COPY pytest.ini setup.py ./
#16 sha256:8f34f21e92feb94ae8ade18ebe5edfb784ebe3f3bb646a5d8b0a82359276b930
#16 CACHED

#17 [stage-2 7/8] COPY source_acceptance_test ./source_acceptance_test
#17 sha256:a78124cadc7ea311df238d7a21fe7099c0aeb993f01dcca2ffbf1086c38f2ccb
#17 CACHED

#14 [stage-2 4/8] RUN echo "Etc/UTC" > /etc/timezone
#14 sha256:22d9340d519d1c79b19b4a39ec856ee57a880904ac813f4b8e25505e8c8aafb6
#14 CACHED

#9 [builder 3/5] COPY setup.py ./
#9 sha256:e56b5d5b26ab823103b35ea16930570c9a4a9c17b688c86026263585d284c4c5
#9 CACHED

#12 [stage-2 2/8] COPY --from=builder /install /usr/local
#12 sha256:156d04127e8940cceba921b0e1c72344278b0dc9358b23b5bbfe9e6246978d52
#12 CACHED

#18 [stage-2 8/8] RUN pip install .
#18 sha256:b4743bfc6c3026cd35990866f468183054db969e2fbb2ecc01f8d93bf394c368
#18 CACHED

#19 exporting to image
#19 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#19 exporting layers done
#19 writing image sha256:4ddcd058160f47a2a29daeba03a1e64204d0a0a95109d39f10a78870072aded3 done
#19 naming to docker.io/airbyte/source-acceptance-test:dev done
#19 DONE 0.1s

Task :airbyte-integrations:connectors:source-adjust:sourceAcceptanceTest
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
============================= test session starts ==============================
platform linux -- Python 3.9.11, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /test_input
plugins: hypothesis-6.54.4, cov-3.0.0, mock-3.6.1, sugar-0.9.5, timeout-1.4.2, requests-mock-1.9.3
collected 29 items

test_core.py ..........s...........s.. [ 86%]
test_full_refresh.py . [ 89%]
test_incremental.py ... [100%]

=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:51: The previous connector image could not be retrieved.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:229: The previous connector image could not be retrieved.
================== 27 passed, 2 skipped in 137.97s (0:02:17) ===================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings

Execution optimizations have been disabled for 1 invalid unit(s) of work during this build to ensure correctness.
Please consult deprecation warnings for more details.

BUILD SUCCESSFUL in 8m 24s
48 actionable tasks: 31 executed, 7 from cache, 10 up-to-date

Acceptance
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_config_match_spec[inputs0] ✓                                                               3% ▍         
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_match_expected[inputs0] ✓                                                                  7% ▊         
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_docker_env[inputs0] ✓                                                                     10% █         
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oneof_usage[inputs0] ✓                                                                    14% █▍        
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_required[inputs0] ✓                                                                       17% █▊        
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_optional[inputs0] ✓                                                                       21% ██▏       
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_has_secret[inputs0] ✓                                                                     24% ██▌       
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_secret_never_in_the_output[inputs0] ✓                                                     28% ██▊       
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_defined_refs_exist_in_json_spec_file[inputs0] ✓                                           31% ███▏      
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_oauth_flow_parameters[inputs0] ✓                                                          34% ███▌      Pulling docker image airbyte/source-adjust:latest
{"type": "LOG", "log": {"level": "WARN", "message": "\n We did not find the airbyte/source-adjust:latest image for this connector. This probably means this version has not yet been published to an accessible docker registry like DockerHub."}}

 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_backward_compatibility[inputs0] s                                                         38% ███▊      
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestSpec.test_additional_properties_is_true[inputs0] ✓                                                  41% ████▎     
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs0] ✓                                                                    45% ████▌     
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestConnection.test_check[inputs1] ✓                                                                    48% ████▉     
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_discover[inputs0] ✓                                                                  52% █████▎    
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_cursors_exist_in_schema[inputs0] ✓                                           55% █████▌    
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_refs_exist_in_schema[inputs0] ✓                                              59% █████▉    
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-allOf] ✓                                     62% ██████▎   
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_defined_keyword_exist_in_schema[inputs0-not] ✓                                       66% ██████▋   
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_primary_keys_exist_in_schema[inputs0] ✓                                              69% ██████▉   
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_streams_has_sync_modes[inputs0] ✓                                                    72% ███████▎  
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_additional_properties_is_true[inputs0] ✓                                             76% ███████▋  Pulling docker image airbyte/source-adjust:latest
{"type": "LOG", "log": {"level": "WARN", "message": "\n We did not find the airbyte/source-adjust:latest image for this connector. This probably means this version has not yet been published to an accessible docker registry like DockerHub."}}

 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestDiscovery.test_backward_compatibility[inputs0] s                                                    79% ███████▉  
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_read[inputs0] ✓                                                                      83% ████████▍ {"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\n{\"type\": \"TRACE\", \"trace\": {\"type\": \"ERROR\", \"emitted_at\": 1661757484793.245, \"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 <module>\\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 111, 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 54, 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] ✓                                          86% ████████▋ 
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_full_refresh.py::TestFullRefresh.test_sequential_reads[inputs0] ✓                                                90% █████████ 
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_incremental.py::TestIncremental.test_two_sequential_reads[inputs0] ✓                                             93% █████████▍
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_incremental.py::TestIncremental.test_read_sequential_slices[inputs0] ✓                                           97% █████████▋
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_incremental.py::TestIncremental.test_state_with_abnormally_large_values[inputs0] ✓                              100% ██████████

============================================================================================= short test summary info ==============================================================================================
SKIPPED [1] ../../bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:51: The previous connector image could not be retrieved.
SKIPPED [1] ../../bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:229: The previous connector image could not be retrieved.

Results (96.14s):
      27 passed
       2 skipped

@CLAassistant
Copy link

CLAassistant commented Aug 28, 2022

CLA assistant check
All committers have signed the CLA.

@sbjorn sbjorn changed the title Initial version of the adjust source connector New source connector for Adjust Aug 29, 2022
@sbjorn sbjorn force-pushed the feature/source-adjust branch from 2d52f67 to ecca4ef Compare August 29, 2022 08:58
@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Aug 29, 2022
@sbjorn sbjorn changed the title New source connector for Adjust 🎉 New Source: Adjust Aug 29, 2022
@sbjorn sbjorn marked this pull request as ready for review August 29, 2022 12:26
@sajarin sajarin added the bounty-XL Maintainer program: claimable extra large bounty PR label Aug 29, 2022
@sajarin
Copy link
Contributor

sajarin commented Aug 31, 2022

assigned to @tuanchris

Copy link
Contributor

@tuanchris tuanchris left a comment

Choose a reason for hiding this comment

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

Hi @sbjorn, I'm participating in the Airbyte Maintainers Program and am assigned to review your PR. The PR looks good so far. I left a couple of comments below, can you have a look?

The Airbyte team is working on retrieving the credentials for this source.

Plus, the acceptance test TestBasicRead is passing, but there's actually an error. Can you check configured_catalog.json to resolve the error?

cc @sajarin

for k, v in list(row.items()):
if k in model:
type_ = model[k].type_
else: # Additional user-provided metrics are assumed to be decimal
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a case when user-provided metric is not float? Should we have a fall back to string type?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have not identified such a case, but that does not mean there isn't one. Could setup a try...except block to fallback together with some logging.

description: Adjust API key, see https://help.adjust.com/en/article/report-service-api-authentication
title: API Token
type: string
dimensions:
Copy link
Contributor

Choose a reason for hiding this comment

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

I recommend adding examples to be more user-friendly. An URL to the possible values that users can select can also be helpful

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Possible values for dimensions are given, so I don't see how an example would make things clearer. I agree that we could add a link to the documentation of dimensions to make it easier for the user to find more details on the various dimensions.

title: Dimensions
type: array
uniqueItems: true
ingest_start:
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we implement pattern here to validate user's date input

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The format is set to date which should limit input to a ISO8601 style date (did not actually test if this is enforced by the UI). I think that should be enough if the spec is followed: https://json-schema.org/understanding-json-schema/reference/string.html#dates-and-times

metrics = self.config["metrics"] + self.config["additional_metrics"]
date = stream_slice[self.cursor_field]
return {
"date_period": ":".join([date, date]), # inclusive
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm wondering why don't we pass in ingest_start:today?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍 Did not test this. Could be an improvement.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Considering this further however, it may be better leaving this as is. If the synch fails in the middle of a large ingest, we would have a checkpoint that could be restarted from.

Copy link
Contributor

Choose a reason for hiding this comment

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

I noticed that the Adjust API supports pagination. We still are waiting on the credentials, which should be created soon. If this is the case, I would recommend using the ingest_start:today pattern. The Airbyte Python SDK already supports dealing with caching and pagination: https://docs.airbyte.com/connector-development/cdk-python/http-streams/.

Let me know what you think.

@sbjorn
Copy link
Contributor Author

sbjorn commented Aug 31, 2022

Plus, the acceptance test TestBasicRead is passing, but there's actually an error. Can you check configured_catalog.json to resolve the error?

I can not see what part of configured_catalog.json would be incorrect. Are you sure that the test output is not expected (as it passes)?

I am wondering this because the test that outputs the suspected error is called TestBasicRead.test_airbyte_trace_message_on_failure[inputs0].

$ python -m pytest -p integration_tests.acceptance -k TestBasicRead
Test session starts (platform: linux, Python 3.9.13, pytest 6.1.2, pytest-sugar 0.9.5)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/airbyte/airbyte-integrations/connectors/source-adjust/.hypothesis/examples')
rootdir: /airbyte, configfile: pytest.ini
plugins: hypothesis-6.54.4, requests-mock-1.9.3, timeout-1.4.2, sugar-0.9.5, mock-3.6.1, cov-3.0.0
collecting ... 
 airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py::TestBasicRead.test_read[inputs0] ✓                                                                      50% █████     {"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\n{\"type\": \"TRACE\", \"trace\": {\"type\": \"ERROR\", \"emitted_at\": 1661976997236.288, \"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 <module>\\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 111, 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 54, 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] ✓                                         100% ██████████{"type": "LOG", "log": {"level": "INFO", "message": "/airbyte/airbyte-integrations/connectors/source-adjust - SAT run - ecca4efe32961c5550c9b8a0f2fb3a53a5dbbf3a - PASSED"}}


Results (23.72s):
       2 passed
      27 deselected

@sbjorn sbjorn requested a review from tuanchris August 31, 2022 21:12
@tuanchris
Copy link
Contributor

Thanks @sbjorn. Everything else looks good for now. I will wait for the credentials https://github.com/airbytehq/airbyte-internal-issues/issues/837, and finish the review.

@sajarin
Copy link
Contributor

sajarin commented Sep 14, 2022

@sbjorn can you post a screenshot of passing acceptance tests from your local branch? That should be all we need at this point to close this out and merge. Let me know if you have any questions or concerns.

@sbjorn
Copy link
Contributor Author

sbjorn commented Sep 20, 2022

@sajarin Here you go - full integration test output:

$ ./gradlew :airbyte-integrations:connectors:source-adjust:integrationTest
Building all of Airbyte.
/airbyte/airbyte-integrations/connectors
Type-safe dependency accessors is an incubating feature.

> Configure project :
configuring docker task for airbyte-bootloader
configuring docker task for airbyte-cli
configuring docker task for airbyte-container-orchestrator
configuring docker task for airbyte-cron
configuring docker task for airbyte-server
configuring docker task for airbyte-temporal
configuring docker task for airbyte-webapp
configuring docker task for airbyte-workers
configuring docker task for init
configuring docker task for db-lib
configuring docker task for reporter

> Configure project :airbyte-cdk:python
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release

> Task :airbyte-integrations:connectors:source-adjust:checkPython
Using python 3.9.13 from /airbyte/airbyte-integrations/connectors/source-adjust/.venv (.venv/bin/python)
Using pip 22.0.4 from /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:bases:source-acceptance-test:checkPython
Using python 3.9.13 from /airbyte/venv (python3)
Using pip 22.0.4 from /airbyte/venv/lib/python3.9/site-packages/pip (python 3.9)
WARNING: Global python is already a virtualenv: '/airbyte/venv/bin'. New environment would be created based on it: '.venv'. In most cases, everything would work as expected.
Using virtualenv 20.4.2 from /airbyte/venv/lib/python3.9/site-packages/virtualenv/__init__.py (in '.venv')
[python] python3 -m virtualenv .venv
         created virtual environment CPython3.9.13.final.0-64 in 343ms
           creator CPython3Posix(dest=/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv, clear=False, no_vcs_ignore=False, global=False)
           seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=.local/share/virtualenv)
             added seed packages: pip==22.2.2, setuptools==65.2.0, wheel==0.37.1
           activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Using python 3.9.13 from /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv (.venv/bin/python)
Using pip 22.2.2 from /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:bases:base-normalization:checkPython
Using python 3.9.13 from /airbyte/venv (python3)
Using pip 22.0.4 from /airbyte/venv/lib/python3.9/site-packages/pip (python 3.9)
WARNING: Global python is already a virtualenv: '/airbyte/venv/bin'. New environment would be created based on it: '.venv'. In most cases, everything would work as expected.
Using virtualenv 20.4.2 from /airbyte/venv/lib/python3.9/site-packages/virtualenv/__init__.py (in '.venv')
[python] python3 -m virtualenv .venv
         created virtual environment CPython3.9.13.final.0-64 in 315ms
           creator CPython3Posix(dest=/airbyte/airbyte-integrations/bases/base-normalization/.venv, clear=False, no_vcs_ignore=False, global=False)
           seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=.local/share/virtualenv)
             added seed packages: pip==22.2.2, setuptools==65.2.0, wheel==0.37.1
           activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Using python 3.9.13 from /airbyte/airbyte-integrations/bases/base-normalization/.venv (.venv/bin/python)
Using pip 22.2.2 from /airbyte/airbyte-integrations/bases/base-normalization/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:connectors:source-adjust:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
         Collecting pip==21.3.1
           Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
         Installing collected packages: pip
           Attempting uninstall: pip
             Found existing installation: pip 22.0.4
             Uninstalling pip-22.0.4:
               Successfully uninstalled pip-22.0.4
         Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
         Collecting mccabe==0.6.1
           Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
         Installing collected packages: mccabe
         Successfully installed mccabe-0.6.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
         Collecting flake8==4.0.1
           Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
         Collecting pyflakes<2.5.0,>=2.4.0
           Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
         Collecting pycodestyle<2.9.0,>=2.8.0
           Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
         Installing collected packages: pyflakes, pycodestyle, flake8
         Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
         Collecting pyproject-flake8==0.0.1a2
           Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
         Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (0.10.2)
         Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
         Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
         Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
         Installing collected packages: pyproject-flake8
         Successfully installed pyproject-flake8-0.0.1a2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
         Collecting black==22.3.0
           Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
         Requirement already satisfied: typing-extensions>=3.10.0.0 in ./.venv/lib/python3.9/site-packages (from black==22.3.0) (4.3.0)
         Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from black==22.3.0) (2.0.1)
         Collecting platformdirs>=2
           Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
         Collecting click>=8.0.0
           Using cached click-8.1.3-py3-none-any.whl (96 kB)
         Collecting pathspec>=0.9.0
           Using cached pathspec-0.10.1-py3-none-any.whl (27 kB)
         Collecting mypy-extensions>=0.4.3
           Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
         Installing collected packages: platformdirs, pathspec, mypy-extensions, click, black
         Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.10.1 platformdirs-2.5.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
         Collecting mypy==0.930
           Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
         Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
         Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
         Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
         Installing collected packages: mypy
         Successfully installed mypy-0.930
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
         Collecting isort==5.6.4
           Using cached isort-5.6.4-py3-none-any.whl (98 kB)
         Installing collected packages: isort
         Successfully installed isort-5.6.4
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
         Collecting pytest==6.1.2
           Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
         Requirement already satisfied: packaging in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (21.3)
         Requirement already satisfied: py>=1.8.2 in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (1.11.0)
         Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
         Requirement already satisfied: attrs>=17.4.0 in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (22.1.0)
         Collecting pluggy<1.0,>=0.12
           Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
         Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (1.1.1)
         Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./.venv/lib/python3.9/site-packages (from packaging->pytest==6.1.2) (3.0.9)
         Installing collected packages: pluggy, pytest
           Attempting uninstall: pluggy
             Found existing installation: pluggy 1.0.0
             Uninstalling pluggy-1.0.0:
               Successfully uninstalled pluggy-1.0.0
           Attempting uninstall: pytest
             Found existing installation: pytest 6.2.5
             Uninstalling pytest-6.2.5:
               Successfully uninstalled pytest-6.2.5
         Successfully installed pluggy-0.13.1 pytest-6.1.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
         Collecting coverage[toml]==6.3.1
           Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
         Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
         Installing collected packages: coverage
           Attempting uninstall: coverage
             Found existing installation: coverage 6.4.4
             Uninstalling coverage-6.4.4:
               Successfully uninstalled coverage-6.4.4
         Successfully installed coverage-6.3.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:bases:source-acceptance-test:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
         Collecting pip==21.3.1
           Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
         Installing collected packages: pip
           Attempting uninstall: pip
             Found existing installation: pip 22.2.2
             Uninstalling pip-22.2.2:
               Successfully uninstalled pip-22.2.2
         Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
         Collecting mccabe==0.6.1
           Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
         Installing collected packages: mccabe
         Successfully installed mccabe-0.6.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
         Collecting flake8==4.0.1
           Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
         Collecting pycodestyle<2.9.0,>=2.8.0
           Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
         Collecting pyflakes<2.5.0,>=2.4.0
           Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
         Installing collected packages: pyflakes, pycodestyle, flake8
         Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
         Collecting pyproject-flake8==0.0.1a2
           Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
         Collecting toml
           Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
         Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
         Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
         Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
         Installing collected packages: toml, pyproject-flake8
         Successfully installed pyproject-flake8-0.0.1a2 toml-0.10.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
         Collecting black==22.3.0
           Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
         Collecting pathspec>=0.9.0
           Downloading pathspec-0.10.1-py3-none-any.whl (27 kB)
         Collecting mypy-extensions>=0.4.3
           Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
         Collecting typing-extensions>=3.10.0.0
           Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
         Collecting tomli>=1.1.0
           Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
         Collecting click>=8.0.0
           Using cached click-8.1.3-py3-none-any.whl (96 kB)
         Collecting platformdirs>=2
           Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
         Installing collected packages: typing-extensions, tomli, platformdirs, pathspec, mypy-extensions, click, black
         Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.10.1 platformdirs-2.5.2 tomli-2.0.1 typing-extensions-4.3.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
         Collecting mypy==0.930
           Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
         Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
         Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
         Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
         Installing collected packages: mypy
         Successfully installed mypy-0.930
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
         Collecting isort==5.6.4
           Using cached isort-5.6.4-py3-none-any.whl (98 kB)
         Installing collected packages: isort
         Successfully installed isort-5.6.4
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
         Collecting pytest==6.1.2
           Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
         Collecting py>=1.8.2
           Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
         Collecting pluggy<1.0,>=0.12
           Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
         Collecting iniconfig
           Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
         Collecting packaging
           Using cached packaging-21.3-py3-none-any.whl (40 kB)
         Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
         Collecting attrs>=17.4.0
           Using cached attrs-22.1.0-py2.py3-none-any.whl (58 kB)
         Collecting pyparsing!=3.0.5,>=2.0.2
           Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
         Installing collected packages: pyparsing, py, pluggy, packaging, iniconfig, attrs, pytest
         Successfully installed attrs-22.1.0 iniconfig-1.1.1 packaging-21.3 pluggy-0.13.1 py-1.11.0 pyparsing-3.0.9 pytest-6.1.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
         Collecting coverage[toml]==6.3.1
           Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
         Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
         Installing collected packages: coverage
         Successfully installed coverage-6.3.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip list --format=columns
         Package           Version
         ----------------- -------
         attrs             22.1.0
         black             22.3.0
         click             8.1.3
         coverage          6.3.1
         flake8            4.0.1
         iniconfig         1.1.1
         isort             5.6.4
         mccabe            0.6.1
         mypy              0.930
         mypy-extensions   0.4.3
         packaging         21.3
         pathspec          0.10.1
         pip               21.3.1
         platformdirs      2.5.2
         pluggy            0.13.1
         py                1.11.0
         pycodestyle       2.8.0
         pyflakes          2.4.0
         pyparsing         3.0.9
         pyproject-flake8  0.0.1a2
         pytest            6.1.2
         setuptools        65.2.0
         toml              0.10.2
         tomli             2.0.1
         typing_extensions 4.3.0
         wheel             0.37.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:bases:base-normalization:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
         Collecting pip==21.3.1
           Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
         Installing collected packages: pip
           Attempting uninstall: pip
             Found existing installation: pip 22.2.2
             Uninstalling pip-22.2.2:
               Successfully uninstalled pip-22.2.2
         Successfully installed pip-21.3.1
[python] .venv/bin/python -m pip install mccabe==0.6.1
         Collecting mccabe==0.6.1
           Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
         Installing collected packages: mccabe
         Successfully installed mccabe-0.6.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install flake8==4.0.1
         Collecting flake8==4.0.1
           Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8==4.0.1) (0.6.1)
         Collecting pycodestyle<2.9.0,>=2.8.0
           Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
         Collecting pyflakes<2.5.0,>=2.4.0
           Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
         Installing collected packages: pyflakes, pycodestyle, flake8
         Successfully installed flake8-4.0.1 pycodestyle-2.8.0 pyflakes-2.4.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pyproject-flake8==0.0.1a2
         Collecting pyproject-flake8==0.0.1a2
           Using cached pyproject_flake8-0.0.1a2-py2.py3-none-any.whl (3.9 kB)
         Collecting toml
           Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
         Requirement already satisfied: flake8 in ./.venv/lib/python3.9/site-packages (from pyproject-flake8==0.0.1a2) (4.0.1)
         Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (0.6.1)
         Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.8.0)
         Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in ./.venv/lib/python3.9/site-packages (from flake8->pyproject-flake8==0.0.1a2) (2.4.0)
         Installing collected packages: toml, pyproject-flake8
         Successfully installed pyproject-flake8-0.0.1a2 toml-0.10.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install black==22.3.0
         Collecting black==22.3.0
           Using cached black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
         Collecting tomli>=1.1.0
           Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
         Collecting click>=8.0.0
           Using cached click-8.1.3-py3-none-any.whl (96 kB)
         Collecting mypy-extensions>=0.4.3
           Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
         Collecting pathspec>=0.9.0
           Using cached pathspec-0.10.1-py3-none-any.whl (27 kB)
         Collecting platformdirs>=2
           Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
         Collecting typing-extensions>=3.10.0.0
           Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
         Installing collected packages: typing-extensions, tomli, platformdirs, pathspec, mypy-extensions, click, black
         Successfully installed black-22.3.0 click-8.1.3 mypy-extensions-0.4.3 pathspec-0.10.1 platformdirs-2.5.2 tomli-2.0.1 typing-extensions-4.3.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install mypy==0.930
         Collecting mypy==0.930
           Using cached mypy-0.930-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (16.6 MB)
         Requirement already satisfied: tomli>=1.1.0 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (2.0.1)
         Requirement already satisfied: mypy-extensions>=0.4.3 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (0.4.3)
         Requirement already satisfied: typing-extensions>=3.10 in ./.venv/lib/python3.9/site-packages (from mypy==0.930) (4.3.0)
         Installing collected packages: mypy
         Successfully installed mypy-0.930
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install isort==5.6.4
         Collecting isort==5.6.4
           Using cached isort-5.6.4-py3-none-any.whl (98 kB)
         Installing collected packages: isort
         Successfully installed isort-5.6.4
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install pytest==6.1.2
         Collecting pytest==6.1.2
           Using cached pytest-6.1.2-py3-none-any.whl (272 kB)
         Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest==6.1.2) (0.10.2)
         Collecting iniconfig
           Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
         Collecting packaging
           Using cached packaging-21.3-py3-none-any.whl (40 kB)
         Collecting py>=1.8.2
           Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
         Collecting pluggy<1.0,>=0.12
           Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
         Collecting attrs>=17.4.0
           Using cached attrs-22.1.0-py2.py3-none-any.whl (58 kB)
         Collecting pyparsing!=3.0.5,>=2.0.2
           Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
         Installing collected packages: pyparsing, py, pluggy, packaging, iniconfig, attrs, pytest
         Successfully installed attrs-22.1.0 iniconfig-1.1.1 packaging-21.3 pluggy-0.13.1 py-1.11.0 pyparsing-3.0.9 pytest-6.1.2
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip install coverage[toml]==6.3.1
         Collecting coverage[toml]==6.3.1
           Using cached coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (210 kB)
         Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]==6.3.1) (2.0.1)
         Installing collected packages: coverage
         Successfully installed coverage-6.3.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.
[python] .venv/bin/python -m pip list --format=columns
         Package           Version
         ----------------- -------
         attrs             22.1.0
         black             22.3.0
         click             8.1.3
         coverage          6.3.1
         flake8            4.0.1
         iniconfig         1.1.1
         isort             5.6.4
         mccabe            0.6.1
         mypy              0.930
         mypy-extensions   0.4.3
         packaging         21.3
         pathspec          0.10.1
         pip               21.3.1
         platformdirs      2.5.2
         pluggy            0.13.1
         py                1.11.0
         pycodestyle       2.8.0
         pyflakes          2.4.0
         pyparsing         3.0.9
         pyproject-flake8  0.0.1a2
         pytest            6.1.2
         setuptools        65.2.0
         toml              0.10.2
         tomli             2.0.1
         typing_extensions 4.3.0
         wheel             0.37.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/base-normalization/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:connectors:source-adjust:pipInstall
[python] .venv/bin/python -m pip list --format=columns
         Package                Version   Editable project location
         ---------------------- --------- ------------------------------------------------------------------------------------
         airbyte-cdk            0.1.88
         attrs                  22.1.0
         backoff                2.1.2
         black                  22.3.0
         certifi                2022.9.14
         charset-normalizer     2.1.1
         click                  8.1.3
         coverage               6.3.1
         dataclasses-jsonschema 2.15.1
         deepdiff               5.8.1
         Deprecated             1.2.13
         docker                 5.0.3
         dpath                  2.0.6
         exceptiongroup         1.0.0rc9
         fancycompleter         0.9.1
         flake8                 4.0.1
         hypothesis             6.54.6
         hypothesis-jsonschema  0.20.1
         icdiff                 1.9.1
         idna                   3.4
         inflection             0.5.1
         iniconfig              1.1.1
         isort                  5.6.4
         Jinja2                 3.1.2
         jsonref                0.2
         jsonschema             3.2.0
         MarkupSafe             2.1.1
         mccabe                 0.6.1
         multidict              6.0.2
         mypy                   0.930
         mypy-extensions        0.4.3
         ordered-set            4.1.0
         packaging              21.3
         pathspec               0.10.1
         pdbpp                  0.10.3
         pendulum               2.1.2
         pip                    21.3.1
         platformdirs           2.5.2
         pluggy                 0.13.1
         pprintpp               0.4.0
         py                     1.11.0
         pycodestyle            2.8.0
         pydantic               1.9.2
         pyflakes               2.4.0
         Pygments               2.13.0
         pyparsing              3.0.9
         pyproject-flake8       0.0.1a2
         pyrepl                 0.9.0
         pyrsistent             0.18.1
         pytest                 6.1.2
         pytest-cov             3.0.0
         pytest-mock            3.6.1
         pytest-sugar           0.9.5
         pytest-timeout         1.4.2
         python-dateutil        2.8.2
         pytzdata               2020.1
         PyYAML                 5.4.1
         requests               2.28.1
         requests-mock          1.9.3
         setuptools             58.1.0
         six                    1.16.0
         sortedcontainers       2.4.0
         source-acceptance-test 0.0.0     /airbyte/airbyte-integrations/bases/source-acceptance-test
         source-adjust          0.0.0     /airbyte/airbyte-integrations/connectors/source-adjust
         termcolor              2.0.1
         toml                   0.10.2
         tomli                  2.0.1
         typing_extensions      4.3.0
         urllib3                1.26.12
         vcrpy                  4.2.1
         websocket-client       1.4.1
         wmctrl                 0.4
         wrapt                  1.14.1
         yarl                   1.8.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:bases:source-acceptance-test:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./
         Skipped 9 files

> Task :airbyte-integrations:connectors:source-adjust:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./
         Skipped 10 files

> Task :airbyte-integrations:bases:source-acceptance-test:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
         All done! ✨ 🍰 ✨
         28 files left unchanged.

> Task :airbyte-integrations:connectors:source-adjust:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
         All done! ✨ 🍰 ✨
         11 files left unchanged.

> Task :airbyte-integrations:connectors:source-adjust:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

> Task :airbyte-integrations:bases:source-acceptance-test:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

> Task :airbyte-integrations:bases:base-normalization:isortFormat
[python] .venv/bin/python -m isort --settings-file=/airbyte/pyproject.toml ./
         Skipped 3 files

> Task :airbyte-integrations:bases:source-acceptance-test:installLocalReqs
[python] .venv/bin/python -m pip install .[dev,tests]
         Processing /airbyte/airbyte-integrations/bases/source-acceptance-test
           Preparing metadata (setup.py): started
           Preparing metadata (setup.py): finished with status 'done'
         WARNING: source-acceptance-test 0.0.0 does not provide the extra 'dev'
         WARNING: source-acceptance-test 0.0.0 does not provide the extra 'tests'
         Collecting airbyte-cdk~=0.1.56
           Using cached airbyte_cdk-0.1.88-py3-none-any.whl (236 kB)
         Collecting docker~=5.0.3
           Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
         Collecting PyYAML~=5.4
           Using cached PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
         Collecting icdiff~=1.9
           Using cached icdiff-1.9.1-py3-none-any.whl
         Collecting inflection~=0.5
           Using cached inflection-0.5.1-py2.py3-none-any.whl (9.5 kB)
         Collecting pdbpp~=0.10
           Using cached pdbpp-0.10.3-py2.py3-none-any.whl (23 kB)
         Collecting pydantic~=1.6
           Using cached pydantic-1.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.2 MB)
         Requirement already satisfied: pytest~=6.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (6.1.2)
         Collecting pytest-sugar~=0.9
           Using cached pytest_sugar-0.9.5-py2.py3-none-any.whl (9.0 kB)
         Collecting pytest-timeout~=1.4
           Using cached pytest_timeout-1.4.2-py2.py3-none-any.whl (10 kB)
         Collecting pprintpp~=0.4
           Using cached pprintpp-0.4.0-py2.py3-none-any.whl (16 kB)
         Collecting dpath~=2.0.1
           Using cached dpath-2.0.6-py3-none-any.whl (15 kB)
         Collecting jsonschema~=3.2.0
           Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
         Collecting jsonref==0.2
           Using cached jsonref-0.2-py3-none-any.whl (9.3 kB)
         Collecting deepdiff~=5.8.0
           Using cached deepdiff-5.8.1-py3-none-any.whl (69 kB)
         Collecting requests-mock~=1.9.3
           Using cached requests_mock-1.9.3-py2.py3-none-any.whl (27 kB)
         Collecting pytest-mock~=3.6.1
           Using cached pytest_mock-3.6.1-py3-none-any.whl (12 kB)
         Collecting pytest-cov~=3.0.0
           Using cached pytest_cov-3.0.0-py3-none-any.whl (20 kB)
         Collecting hypothesis~=6.54.1
           Using cached hypothesis-6.54.6-py3-none-any.whl (390 kB)
         Collecting hypothesis-jsonschema~=0.20.1
           Using cached hypothesis_jsonschema-0.20.1-py3-none-any.whl (28 kB)
         Collecting Deprecated~=1.2
           Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
         Collecting vcrpy
           Using cached vcrpy-4.2.1-py2.py3-none-any.whl (40 kB)
         Collecting backoff
           Using cached backoff-2.1.2-py3-none-any.whl (14 kB)
         Collecting dataclasses-jsonschema==2.15.1
           Using cached dataclasses_jsonschema-2.15.1-py3-none-any.whl (17 kB)
         Collecting pendulum
           Using cached pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl (155 kB)
         Collecting pydantic~=1.6
           Using cached pydantic-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB)
         Collecting Jinja2~=3.1.2
           Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
         Collecting requests
           Using cached requests-2.28.1-py3-none-any.whl (62 kB)
         Collecting python-dateutil
           Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
         Collecting ordered-set<4.2.0,>=4.1.0
           Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
         Collecting websocket-client>=0.32.0
           Using cached websocket_client-1.4.1-py3-none-any.whl (55 kB)
         Collecting exceptiongroup>=1.0.0rc8
           Using cached exceptiongroup-1.0.0rc9-py3-none-any.whl (12 kB)
         Requirement already satisfied: attrs>=19.2.0 in ./.venv/lib/python3.9/site-packages (from hypothesis~=6.54.1->source-acceptance-test==0.0.0) (22.1.0)
         Collecting sortedcontainers<3.0.0,>=2.1.0
           Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
         Collecting six>=1.11.0
           Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
         Collecting pyrsistent>=0.14.0
           Using cached pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (115 kB)
         Requirement already satisfied: setuptools in ./.venv/lib/python3.9/site-packages (from jsonschema~=3.2.0->source-acceptance-test==0.0.0) (65.2.0)

> Task :airbyte-integrations:bases:base-normalization:blackFormat
[python] .venv/bin/python -m black --config /airbyte/pyproject.toml ./
         All done! ✨ 🍰 ✨
         24 files left unchanged.

> Task :airbyte-integrations:bases:base-normalization:flakeCheck
[python] .venv/bin/python -m pflake8 --config /airbyte/pyproject.toml ./

> Task :airbyte-integrations:bases:source-acceptance-test:installLocalReqs
         Collecting pygments
           Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
         Collecting wmctrl
           Using cached wmctrl-0.4-py3-none-any.whl
         Collecting fancycompleter>=0.8
           Using cached fancycompleter-0.9.1-py3-none-any.whl (9.7 kB)
         Requirement already satisfied: typing-extensions>=3.7.4.3 in ./.venv/lib/python3.9/site-packages (from pydantic~=1.6->source-acceptance-test==0.0.0) (4.3.0)
         Requirement already satisfied: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (1.1.1)
         Requirement already satisfied: py>=1.8.2 in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (1.11.0)
         Requirement already satisfied: pluggy<1.0,>=0.12 in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (0.13.1)
         Requirement already satisfied: packaging in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (21.3)
         Requirement already satisfied: toml in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (0.10.2)
         Requirement already satisfied: coverage[toml]>=5.2.1 in ./.venv/lib/python3.9/site-packages (from pytest-cov~=3.0.0->source-acceptance-test==0.0.0) (6.3.1)
         Collecting termcolor>=1.1.0
           Using cached termcolor-2.0.1-py3-none-any.whl (5.4 kB)
         Requirement already satisfied: tomli in ./.venv/lib/python3.9/site-packages (from coverage[toml]>=5.2.1->pytest-cov~=3.0.0->source-acceptance-test==0.0.0) (2.0.1)
         Collecting wrapt<2,>=1.10
           Using cached wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (77 kB)
         Collecting pyrepl>=0.8.2
           Using cached pyrepl-0.9.0-py3-none-any.whl
         Collecting MarkupSafe>=2.0
           Using cached MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
         Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./.venv/lib/python3.9/site-packages (from packaging->pytest~=6.1->source-acceptance-test==0.0.0) (3.0.9)
         Collecting certifi>=2017.4.17
           Using cached certifi-2022.9.14-py3-none-any.whl (162 kB)
         Collecting charset-normalizer<3,>=2
           Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
         Collecting idna<4,>=2.5
           Using cached idna-3.4-py3-none-any.whl (61 kB)
         Collecting urllib3<1.27,>=1.21.1
           Using cached urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
         Collecting pytzdata>=2020.1
           Using cached pytzdata-2020.1-py2.py3-none-any.whl (489 kB)
         Collecting yarl
           Using cached yarl-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264 kB)
         Collecting multidict>=4.0
           Using cached multidict-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
         Building wheels for collected packages: source-acceptance-test
           Building wheel for source-acceptance-test (setup.py): started
           Building wheel for source-acceptance-test (setup.py): finished with status 'done'
           Created wheel for source-acceptance-test: filename=source_acceptance_test-0.0.0-py3-none-any.whl size=53871 sha256=32064c75c3204a0e0c057671bd3e6daa0e34bfdbae515427257e23fb0189c3d8
           Stored in directory: .cache/pip/wheels/d4/2d/cb/f8fa252dfa1b9695859cceaeea899554bd0f03a176288c59a5
         Successfully built source-acceptance-test
         Installing collected packages: six, pyrsistent, multidict, idna, yarl, wrapt, urllib3, sortedcontainers, PyYAML, pytzdata, python-dateutil, pyrepl, MarkupSafe, jsonschema, exceptiongroup, charset-normalizer, certifi, wmctrl, websocket-client, vcrpy, termcolor, requests, pygments, pydantic, pendulum, ordered-set, jsonref, Jinja2, hypothesis, fancycompleter, dpath, Deprecated, dataclasses-jsonschema, backoff, requests-mock, pytest-timeout, pytest-sugar, pytest-mock, pytest-cov, pprintpp, pdbpp, inflection, icdiff, hypothesis-jsonschema, docker, deepdiff, airbyte-cdk, source-acceptance-test
         Successfully installed Deprecated-1.2.13 Jinja2-3.1.2 MarkupSafe-2.1.1 PyYAML-5.4.1 airbyte-cdk-0.1.88 backoff-2.1.2 certifi-2022.9.14 charset-normalizer-2.1.1 dataclasses-jsonschema-2.15.1 deepdiff-5.8.1 docker-5.0.3 dpath-2.0.6 exceptiongroup-1.0.0rc9 fancycompleter-0.9.1 hypothesis-6.54.6 hypothesis-jsonschema-0.20.1 icdiff-1.9.1 idna-3.4 inflection-0.5.1 jsonref-0.2 jsonschema-3.2.0 multidict-6.0.2 ordered-set-4.1.0 pdbpp-0.10.3 pendulum-2.1.2 pprintpp-0.4.0 pydantic-1.9.2 pygments-2.13.0 pyrepl-0.9.0 pyrsistent-0.18.1 pytest-cov-3.0.0 pytest-mock-3.6.1 pytest-sugar-0.9.5 pytest-timeout-1.4.2 python-dateutil-2.8.2 pytzdata-2020.1 requests-2.28.1 requests-mock-1.9.3 six-1.16.0 sortedcontainers-2.4.0 source-acceptance-test-0.0.0 termcolor-2.0.1 urllib3-1.26.12 vcrpy-4.2.1 websocket-client-1.4.1 wmctrl-0.4 wrapt-1.14.1 yarl-1.8.1
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:connectors:source-adjust:_unitTestCoverage
[python] .venv/bin/python -m coverage run --data-file=unit_tests/.coverage.unitTest --rcfile=/airbyte/pyproject.toml -m pytest -s unit_tests -c /airbyte/pyproject.toml
         ============================= test session starts ==============================
         platform linux -- Python 3.9.13, pytest-6.1.2, py-1.11.0, pluggy-0.13.1 -- /airbyte/airbyte-integrations/connectors/source-adjust/.venv/bin/python
         cachedir: .pytest_cache
         hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/airbyte/airbyte-integrations/connectors/source-adjust/.hypothesis/examples')
         rootdir: /airbyte/airbyte-integrations/connectors/source-adjust/unit_tests, configfile: ../../../../pyproject.toml
         plugins: hypothesis-6.54.6, requests-mock-1.9.3, timeout-1.4.2, sugar-0.9.5, mock-3.6.1, cov-3.0.0
         collecting ... collected 17 items
         
         unit_tests/test_incremental_streams.py::test_cursor_field PASSED
         unit_tests/test_incremental_streams.py::test_stream_slices PASSED
         unit_tests/test_incremental_streams.py::test_supports_incremental PASSED
         unit_tests/test_incremental_streams.py::test_source_defined_cursor PASSED
         unit_tests/test_incremental_streams.py::test_stream_checkpoint_interval PASSED
         unit_tests/test_source.py::test_check_connection PASSED
         unit_tests/test_source.py::test_streams PASSED
         unit_tests/test_streams.py::test_request_params PASSED
         unit_tests/test_streams.py::test_next_page_token PASSED
         unit_tests/test_streams.py::test_parse_response PASSED
         unit_tests/test_streams.py::test_request_headers PASSED
         unit_tests/test_streams.py::test_http_method PASSED
         unit_tests/test_streams.py::test_should_retry[HTTPStatus.OK-False] PASSED
         unit_tests/test_streams.py::test_should_retry[HTTPStatus.BAD_REQUEST-False] PASSED
         unit_tests/test_streams.py::test_should_retry[HTTPStatus.TOO_MANY_REQUESTS-True] PASSED
         unit_tests/test_streams.py::test_should_retry[HTTPStatus.INTERNAL_SERVER_ERROR-True] PASSED
         unit_tests/test_streams.py::test_backoff_time PASSED
         
         =============================== warnings summary ===============================
         test_incremental_streams.py: 5 warnings
         test_source.py: 1 warning
         test_streams.py: 10 warnings
           /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/airbyte_cdk/sources/streams/http/http.py:41: DeprecationWarning: Call to deprecated class NoAuth. (Set `authenticator=None` instead) -- Deprecated since version 0.1.20.
             self._authenticator: HttpAuthenticator = NoAuth()
         
         test_incremental_streams.py: 5 warnings
         test_source.py: 1 warning
         test_streams.py: 10 warnings
           /airbyte/airbyte-integrations/connectors/source-adjust/.venv/lib/python3.9/site-packages/deprecated/classic.py:173: DeprecationWarning: Call to deprecated class HttpAuthenticator. (Use requests.auth.AuthBase instead) -- Deprecated since version 0.1.20.
             return old_new1(cls, *args, **kwargs)
         
         -- Docs: https://docs.pytest.org/en/stable/warnings.html
         ======================= 17 passed, 32 warnings in 1.04s ========================

> Task :airbyte-integrations:connectors:source-adjust:unitTest
Name                        Stmts   Miss  Cover
-----------------------------------------------
source_adjust/__init__.py       2      0   100%
source_adjust/model.py        116      6    95%
source_adjust/source.py       109     38    65%
-----------------------------------------------
TOTAL                         227     44    81%

> Task :airbyte-integrations:bases:source-acceptance-test:_unitTestCoverage
[python] .venv/bin/python -m coverage run --data-file=unit_tests/.coverage.unitTest --rcfile=/airbyte/pyproject.toml -m pytest -s unit_tests -c pytest.ini
         Test session starts (platform: linux, Python 3.9.13, pytest 6.1.2, pytest-sugar 0.9.5)
         cachedir: .pytest_cache
         hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/airbyte/airbyte-integrations/bases/source-acceptance-test/.hypothesis/examples')
         rootdir: /airbyte/airbyte-integrations/bases/source-acceptance-test/unit_tests, configfile: ../pytest.ini
         plugins: hypothesis-6.54.6, requests-mock-1.9.3, timeout-1.4.2, sugar-0.9.5, mock-3.6.1, cov-3.0.0
         collecting ... 
         
          test_asserts.py::test_verify_records_schema ✓                     0%           
          test_asserts.py::test_validate_records_format[record0-configured_catalog0-False] ✓1% ▏         
          test_asserts.py::test_validate_records_format[record1-configured_catalog1-False] ✓1% ▏         
          test_asserts.py::test_validate_records_format[record2-configured_catalog2-False] ✓1% ▎         
          test_asserts.py::test_validate_records_format[record3-configured_catalog3-False] ✓2% ▎         
          test_asserts.py::test_validate_records_format[record4-configured_catalog4-True] ✓2% ▎         
          test_asserts.py::test_validate_records_format[record5-configured_catalog5-False] ✓2% ▎         
          test_asserts.py::test_validate_records_format[record6-configured_catalog6-True] ✓3% ▍         
          test_asserts.py::test_validate_records_format[record7-configured_catalog7-False] ✓3% ▍         
          test_asserts.py::test_validate_records_format[record8-configured_catalog8-False] ✓3% ▍         
          test_asserts.py::test_validate_records_format[record9-configured_catalog9-True] ✓4% ▍         
          test_asserts.py::test_validate_records_format[record10-configured_catalog10-True] ✓4% ▍         
          test_asserts.py::test_validate_records_format[record11-configured_catalog11-True] ✓4% ▌         
          test_asserts.py::test_validate_records_format[record12-configured_catalog12-True] ✓5% ▌         
          test_asserts.py::test_validate_records_format[record13-configured_catalog13-False] ✓5% ▌         
          test_asserts.py::test_validate_records_format[record14-configured_catalog14-False] ✓5% ▌         
          test_asserts.py::test_validate_records_format[record15-configured_catalog15-False] ✓5% ▋         
          test_asserts.py::test_validate_records_format[record16-configured_catalog16-True] ✓6% ▋         
          test_asserts.py::test_validate_records_format[record17-configured_catalog17-False] ✓6% ▋         
          test_asserts.py::test_validate_records_format[record18-configured_catalog18-True] ✓6% ▋         
          test_asserts.py::test_validate_records_format[record19-configured_catalog19-True] ✓7% ▋         
          test_asserts.py::test_validate_records_format[record20-configured_catalog20-True] ✓7% ▊         
          test_asserts.py::test_validate_records_format[record21-configured_catalog21-False] ✓7% ▊         
          test_asserts.py::test_validate_records_format[record22-configured_catalog22-False] ✓8% ▊         
          test_asserts.py::test_validate_records_format[record23-configured_catalog23-True] ✓8% ▊         
          test_asserts.py::test_validate_records_format[record24-configured_catalog24-True] ✓8% ▉         
          test_asserts.py::test_validate_records_format[record25-configured_catalog25-False] ✓9% ▉         
          test_asserts.py::test_validate_records_format[record26-configured_catalog26-False] ✓9% ▉         
          test_asserts.py::test_validate_records_format[record27-configured_catalog27-True] ✓9% ▉         
          test_asserts.py::test_validate_records_format[record28-configured_catalog28-False] ✓10% █         
          test_asserts.py::test_validate_records_format[record29-configured_catalog29-True] ✓10% █         
          test_asserts.py::test_validate_records_format[record30-configured_catalog30-True] ✓10% █         
          test_asserts.py::test_validate_records_format[record31-configured_catalog31-True] ✓11% █▏        
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: declaring the required field should fail.] ✓11% █▏        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: adding the required field should fail.] ✓11% █▎        
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: adding a new required property should fail.] ✓12% █▎        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: adding a new required property should fail.] ✓12% █▎        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nullable: Making a field not nullable should fail (not in a list).] ✓12% █▎        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Narrowing a field type should fail.] ✓13% █▍        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Making a field not nullable should fail] ✓13% █▍        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type should fail.] ✓13% █▍        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a string to a list with a different type value should fail.] ✓14% █▍        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type should fail from a list to string with different value should fail.] ✓14% █▍        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type in list should fail.] ✓14% █▌        

> Task :airbyte-integrations:connectors:source-adjust:airbyteDocker
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
Execution optimizations have been disabled for task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:compileTestJava' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:pmdMain' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:pmdTest' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:processTestResources' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:spotbugsMain' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/airbyte/airbyte-integrations/connectors/source-adjust'. Reason: Task ':airbyte-integrations:connectors:source-adjust:airbyteDocker' uses this output of task ':airbyte-integrations:connectors:source-adjust:spotbugsTest' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
airbytehq/airbyte#1 [internal] load build definition from Dockerfile
airbytehq/airbyte#1 sha256:e017cf615a99e9dbfb6a8c0802abe2159eeef3930914d5b08e95397d6e70269a
airbytehq/airbyte#1 transferring dockerfile: 1.09kB done
airbytehq/airbyte#1 DONE 0.1s

airbytehq/airbyte#2 [internal] load .dockerignore
airbytehq/airbyte#2 sha256:1e816f6ee85507d9234f3196dbfe74ce0751ebcf94d7082dee74a5064316a9bb
airbytehq/airbyte#2 transferring context: 97B done
airbytehq/airbyte#2 DONE 0.1s

airbytehq/airbyte#3 [internal] load metadata for docker.io/library/python:3.9.11-alpine3.15
airbytehq/airbyte#3 sha256:615609793cad3a170d91fb8a37323caa348ca31e0a749e824da4c8c1d8da2aa4
airbytehq/airbyte#3 DONE 0.0s

airbytehq/airbyte#4 [base 1/1] FROM docker.io/library/python:3.9.11-alpine3.15
airbytehq/airbyte#4 sha256:b26982ea68e566f4418f23b00585fceb8074e00082fc1e7cf2b85346f39804e3
airbytehq/airbyte#4 DONE 0.0s

airbytehq/airbyte#7 [internal] load build context
airbytehq/airbyte#7 sha256:70837985ce5d25633489e38fb44510c6ba46194771fa9eb3a50819e80191316b
airbytehq/airbyte#7 transferring context: 47.92kB done
airbytehq/airbyte#7 DONE 0.0s

airbytehq/airbyte#5 [stage-2 1/7] WORKDIR /airbyte/integration_code
airbytehq/airbyte#5 sha256:519943ee918f3d1ec01a319ff0276a627a319f59b692954112b24434e9387dff
airbytehq/airbyte#5 CACHED

airbytehq/airbyte#6 [builder 2/4] RUN apk --no-cache upgrade     && pip install --upgrade pip     && apk --no-cache add tzdata build-base
airbytehq/airbyte#6 sha256:780e00211f02e5b1d80f59f0bbd4172193f30cfb3904193af99be9e6bc4f9f6a
airbytehq/airbyte#6 CACHED

airbytehq/airbyte#8 [builder 3/4] COPY setup.py ./
airbytehq/airbyte#8 sha256:60b6d337484add8fe5f8ae1068a002865d950d420b08e270ab70060865ecc2a6
airbytehq/airbyte#8 CACHED

airbytehq/airbyte#13 [stage-2 5/7] RUN apk --no-cache add bash
airbytehq/airbyte#13 sha256:2de9f7ab4c01ec9436854c61f5552dc380ae80f0f585f6a6c297cd3b6114b562
airbytehq/airbyte#13 CACHED

airbytehq/airbyte#9 [builder 4/4] RUN pip install --prefix=/install .
airbytehq/airbyte#9 sha256:d5d49848152de62cdcf21a1ba8d4e0676ed35989c0d17f96f16688d11c5c4182
airbytehq/airbyte#9 CACHED

airbytehq/airbyte#12 [stage-2 4/7] RUN echo "Etc/UTC" > /etc/timezone
airbytehq/airbyte#12 sha256:7a9acac17ce0818b4ff366962ef4532ddda76f729e3e027d79705083a77c2964
airbytehq/airbyte#12 CACHED

airbytehq/airbyte#14 [stage-2 6/7] COPY main.py ./
airbytehq/airbyte#14 sha256:3eda8624c047a4804a4e48ad18de4bdac3dfb38feb32a84d4c7c59996bbf17dd
airbytehq/airbyte#14 CACHED

airbytehq/airbyte#11 [stage-2 3/7] COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
airbytehq/airbyte#11 sha256:26c3bc61d355dc9ffa6e4ac2c24e0fcd8111a3be1467ec295dd59e35db731440
airbytehq/airbyte#11 CACHED

airbytehq/airbyte#10 [stage-2 2/7] COPY --from=builder /install /usr/local
airbytehq/airbyte#10 sha256:5894ba2e481f8b4e494807b9db5d55078a1325ae4f0b66e32c69f32f9356e7a1
airbytehq/airbyte#10 CACHED

airbytehq/airbyte#15 [stage-2 7/7] COPY source_adjust ./source_adjust
airbytehq/airbyte#15 sha256:7d474163ce37115b0317cf6da6ed24fbefbeca602493e8a1ac4e135fab078ecc
airbytehq/airbyte#15 CACHED

airbytehq/airbyte#16 exporting to image
airbytehq/airbyte#16 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
airbytehq/airbyte#16 exporting layers done
airbytehq/airbyte#16 writing image sha256:1d650c8bb637feebd94296afbe2c069932c79251618cf2627c6eeed6287d2cb3
airbytehq/airbyte#16 writing image sha256:1d650c8bb637feebd94296afbe2c069932c79251618cf2627c6eeed6287d2cb3 done
airbytehq/airbyte#16 naming to docker.io/airbyte/source-adjust:dev done
airbytehq/airbyte#16 DONE 0.1s

> Task :airbyte-integrations:bases:source-acceptance-test:_unitTestCoverage
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable and changing type should fail.] ✓15% █▌        
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable and changing type should fail (change list order).] ✓15% █▌        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Changing a field type should fail] ✓15% █▌        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type in oneOf should fail.] ✓15% █▋        
          test_backward_compatibility.py::test_spec_backward_compatibility[Narrowing a field type in oneOf should fail.] ✓16% █▋        
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Narrowing a field enum should fail.] ✓16% █▋        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Narrowing a field enum should fail.] ✓16% █▋        
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Declaring a field enum should fail.] ✓17% █▋        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Declaring a field enum should fail.] ✓17% █▊        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a 'type' field from a string to something else than a list should fail.] ✓17% █▊        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a 'type' field from a list to something else than a string should fail.] ✓18% █▊        
          test_backward_compatibility.py::test_spec_backward_compatibility[Not changing a spec should not fail] ✓18% █▊        
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Changing the value of additionalProperties should not fail] ✓18% █▉        
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Changing the value of additionalProperties should not fail] ✓19% █▉        
          test_backward_compatibility.py::test_spec_backward_compatibility[Adding an optional field should not fail.] ✓19% █▉        
          test_backward_compatibility.py::test_spec_backward_compatibility[Adding an optional object with required properties should not fail.] ✓19% █▉        
          test_backward_compatibility.py::test_spec_backward_compatibility[No change should not fail.] ✓20% ██        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a list to a string with same value should not fail.] ✓20% ██        
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a field type from a string to a list should not fail.] ✓20% ██        
          test_backward_compatibility.py::test_spec_backward_compatibility[Adding a field type in list should not fail.] ✓21% ██▏       
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail.] ✓21% ██▏       
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (change list order).] ✓21% ██▎       
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (from a list).] ✓22% ██▎       
          test_backward_compatibility.py::test_spec_backward_compatibility[Making a field nullable should not fail (from a list, changing order).] ✓22% ██▎       
          test_backward_compatibility.py::test_spec_backward_compatibility[Nullable field: Changing order should not fail] ✓22% ██▎       
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Expanding a field type should not fail.] ✓23% ██▍       
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a order in oneOf should not fail.] ✓23% ██▍       
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Expanding a field enum should not fail.] ✓23% ██▍       
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Expanding a field enum should not fail.] ✓24% ██▍       
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Adding a new optional field with enum should not fail.] ✓24% ██▍       
          test_backward_compatibility.py::test_spec_backward_compatibility[Top level: Removing the field enum should not fail.] ✓24% ██▌       
          test_backward_compatibility.py::test_spec_backward_compatibility[Nested level: Removing the enum field should not fail.] ✓25% ██▌       
          test_backward_compatibility.py::test_spec_backward_compatibility[Changing a 'type' field from a string to a list containing that same string should not fail.] ✓25% ██▌       
          test_backward_compatibility.py::test_validate_previous_configs[Top level: declaring the required field should fail.] ✓25% ██▌       
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: adding the required field should fail.] ✓25% ██▋       
          test_backward_compatibility.py::test_validate_previous_configs[Top level: adding a new required property should fail.] ✓26% ██▋       
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: adding a new required property should fail.] ✓26% ██▋       
          test_backward_compatibility.py::test_validate_previous_configs[Nullable: Making a field not nullable should fail (not in a list).] ✓26% ██▋       
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Narrowing a field type should fail.] ✓27% ██▋       
          test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Making a field not nullable should fail] ✓27% ██▊       
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type should fail.] ✓27% ██▊       
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a string to a list with a different type value should fail.] ✓28% ██▊       
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type should fail from a list to string with different value should fail.] ✓28% ██▊       
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type in list should fail.] ✓28% ██▉       
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable and changing type should fail.] ✓29% ██▉       
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable and changing type should fail (change list order).] ✓29% ██▉       
          test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Changing a field type should fail] ✓29% ██▉       
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type in oneOf should fail.] ✓30% ███       
          test_backward_compatibility.py::test_validate_previous_configs[Narrowing a field type in oneOf should fail.] ✓30% ███       
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Narrowing a field enum should fail.] ✓30% ███       
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Narrowing a field enum should fail.] ✓31% ███▏      
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Declaring a field enum should fail.] ✓31% ███▏      
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Declaring a field enum should fail.] ✓31% ███▎      
          test_backward_compatibility.py::test_validate_previous_configs[Not changing a spec should not fail] ✓32% ███▎      
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Changing the value of additionalProperties should not fail] ✓32% ███▎      
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Changing the value of additionalProperties should not fail] ✓32% ███▎      
          test_backward_compatibility.py::test_validate_previous_configs[Adding an optional field should not fail.] ✓33% ███▍      
          test_backward_compatibility.py::test_validate_previous_configs[Adding an optional object with required properties should not fail.] ✓33% ███▍      
          test_backward_compatibility.py::test_validate_previous_configs[No change should not fail.] ✓33% ███▍      
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a list to a string with same value should not fail.] ✓34% ███▍      
          test_backward_compatibility.py::test_validate_previous_configs[Changing a field type from a string to a list should not fail.] ✓34% ███▍      
          test_backward_compatibility.py::test_validate_previous_configs[Adding a field type in list should not fail.] ✓34% ███▌      
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail.] ✓35% ███▌      
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (change list order).] ✓35% ███▌      
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (from a list).] ✓35% ███▌      
          test_backward_compatibility.py::test_validate_previous_configs[Making a field nullable should not fail (from a list, changing order).] ✓35% ███▋      
          test_backward_compatibility.py::test_validate_previous_configs[Nullable field: Changing order should not fail] ✓36% ███▋      
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Expanding a field type should not fail.] ✓36% ███▋      
          test_backward_compatibility.py::test_validate_previous_configs[Changing a order in oneOf should not fail.] ✓36% ███▋      
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Expanding a field enum should not fail.] ✓37% ███▋      
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Expanding a field enum should not fail.] ✓37% ███▊      
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Adding a new optional field with enum should not fail.] ✓37% ███▊      
          test_backward_compatibility.py::test_validate_previous_configs[Top level: Removing the field enum should not fail.] ✓38% ███▊      
          test_backward_compatibility.py::test_validate_previous_configs[Nested level: Removing the enum field should not fail.] ✓38% ███▊      
          test_backward_compatibility.py::test_validate_previous_configs[Changing a 'type' field from a string to a list containing that same string should not fail.] ✓38% ███▉      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Removing a stream from a catalog should fail.] ✓39% ███▉      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a field type should fail.] ✓39% ███▉      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Renaming a stream should fail.] ✓39% ███▉      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail.] ✓40% ████      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail (nested cursors).] ✓40% ████      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a cursor in a stream should fail (nested cursors removal).] ✓40% ████      
          test_backward_compatibility.py::test_catalog_backward_compatibility[Adding a stream but changing cursor should fail.] ✓41% ████▏     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing a 'type' field from a string to something else than a list containing just that string and null should fail.] ✓41% ████▏     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Adding a stream to a catalog should not fail.] ✓41% ████▎     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Making a field nullable should not fail.] ✓42% ████▎     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Changing 'type' field to list should not fail.] ✓42% ████▎     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Removing a field should not fail.] ✓42% ████▎     
          test_backward_compatibility.py::test_catalog_backward_compatibility[Not changing a cursor in a stream should not fail.] ✓43% ████▍     
          test_core.py::test_discovery[schema0-cursors0-True] ✓            43% ████▍     
          test_core.py::test_discovery[schema1-cursors1-False] ✓           43% ████▍     
          test_core.py::test_discovery[schema2-cursors2-True] ✓            44% ████▍     
          test_core.py::test_discovery[schema3-cursors3-True] ✓            44% ████▍     
          test_core.py::test_discovery[schema4-cursors4-False] ✓           44% ████▌     
          test_core.py::test_discovery[schema5-cursors5-True] ✓            45% ████▌     
          test_core.py::test_ref_in_discovery_schemas[schema0-False] ✓     45% ████▌     
          test_core.py::test_ref_in_discovery_schemas[schema1-True] ✓      45% ████▌     
          test_core.py::test_ref_in_discovery_schemas[schema2-True] ✓      45% ████▋     
          test_core.py::test_ref_in_discovery_schemas[schema3-True] ✓      46% ████▋     
          test_core.py::test_ref_in_discovery_schemas[schema4-False] ✓     46% ████▋     
          test_core.py::test_ref_in_discovery_schemas[schema5-True] ✓      46% ████▋     
          test_core.py::test_ref_in_discovery_schemas[schema6-True] ✓      47% ████▋     
          test_core.py::test_keyword_in_discovery_schemas[schema0-allOf-False] ✓47% ████▊     
          test_core.py::test_keyword_in_discovery_schemas[schema1-allOf-True] ✓47% ████▊     
          test_core.py::test_keyword_in_discovery_schemas[schema2-allOf-False] ✓48% ████▊     
          test_core.py::test_keyword_in_discovery_schemas[schema3-allOf-True] ✓48% ████▊     
          test_core.py::test_keyword_in_discovery_schemas[schema4-allOf-True] ✓48% ████▉     
          test_core.py::test_keyword_in_discovery_schemas[schema5-allOf-True] ✓49% ████▉     
          test_core.py::test_keyword_in_discovery_schemas[schema6-not-True] ✓49% ████▉     
          test_core.py::test_keyword_in_discovery_schemas[schema7-not-False] ✓49% ████▉     
          test_core.py::test_keyword_in_discovery_schemas[schema8-not-True] ✓50% █████     
          test_core.py::test_supported_sync_modes_in_stream[discovered_catalog0-expectation0] ✓50% █████     
          test_core.py::test_supported_sync_modes_in_stream[discovered_catalog1-expectation1] ✓50% █████     
          test_core.py::test_supported_sync_modes_in_stream[discovered_catalog2-expectation2] ✓51% █████▏    
          test_core.py::test_supported_sync_modes_in_stream[discovered_catalog3-expectation3] ✓51% █████▏    
          test_core.py::test_supported_sync_modes_in_stream[discovered_catalog4-expectation4] ✓51% █████▎    
          test_core.py::test_additional_properties_is_true[discovered_catalog0-expectation0] ✓52% █████▎    
          test_core.py::test_additional_properties_is_true[discovered_catalog1-expectation1] ✓52% █████▎    
          test_core.py::test_additional_properties_is_true[discovered_catalog2-expectation2] ✓52% █████▎    
          test_core.py::test_additional_properties_is_true[discovered_catalog3-expectation3] ✓53% █████▍    
          test_core.py::test_additional_properties_is_true[discovered_catalog4-expectation4] ✓53% █████▍    
          test_core.py::test_additional_properties_is_true[discovered_catalog5-expectation5] ✓53% █████▍    
          test_core.py::test_read[schema0-record0-False] ✓                 54% █████▍    
          test_core.py::test_read[schema1-record1-False] ✓                 54% █████▍    
          test_core.py::test_read[schema2-record2-True] ✓                  54% █████▌    
          test_core.py::test_read[schema3-record3-False] ✓                 55% █████▌    
          test_core.py::test_read[schema4-record4-True] ✓                  55% █████▌    
          test_core.py::test_read[schema5-record5-False] ✓                 55% █████▌    
          test_core.py::test_airbyte_trace_message_on_failure[output0-True-False] ✓55% █████▋    
          test_core.py::test_airbyte_trace_message_on_failure[output1-True-False] ✓56% █████▋    
          test_core.py::test_airbyte_trace_message_on_failure[output2-True-False] ✓56% █████▋    
          test_core.py::test_airbyte_trace_message_on_failure[output3-True-True] ✓56% █████▋    
          test_core.py::test_airbyte_trace_message_on_failure[output4-True-True] ✓57% █████▋    
          test_core.py::test_airbyte_trace_message_on_failure[output5-False-False] ✓57% █████▊    
          test_core.py::test_airbyte_trace_message_on_failure[output6-False-False] ✓57% █████▊    
          test_core.py::test_airbyte_trace_message_on_failure[output7-False-False] ✓58% █████▊    
          test_core.py::test_validate_field_appears_at_least_once[records0-configured_catalog0-] ✓58% █████▊    
          test_core.py::test_validate_field_appears_at_least_once[records1-configured_catalog1-`test1` stream has `\\['/f2'\\]`] ✓58% █████▉    
          test_core.py::test_validate_field_appears_at_least_once[records2-configured_catalog2-] ✓59% █████▉    
          test_core.py::test_validate_field_appears_at_least_once[records3-configured_catalog3-] ✓59% █████▉    
          test_core.py::test_validate_field_appears_at_least_once[records4-configured_catalog4-`test1` stream has `\\['/f3/\\[\\]'\\]`] ✓59% █████▉    
          test_core.py::test_validate_field_appears_at_least_once[records5-configured_catalog5-] ✓60% ██████    
          test_core.py::test_validate_field_appears_at_least_once[records6-configured_catalog6-`test1` stream has `\\['/f3/f5/\\[\\]'\\]`] ✓60% ██████    
          test_core.py::test_validate_field_appears_at_least_once[records7-configured_catalog7-`test1` stream has `\\['/f3/f5/\\[\\]/f6', '/f3/f5/\\[\\]/f7/\\[\\]'\\]`] ✓60% ██████    
          test_core.py::test_validate_field_appears_at_least_once[records8-configured_catalog8-] ✓61% ██████▏   
          test_core.py::test_validate_field_appears_at_least_once[records9-configured_catalog9-(`test1` stream has `\\['/f3/f5/\\[\\]/f7/\\[\\]']`)|(`test2` `\\['/f8'\\]`)] ✓61% ██████▏   
          test_core.py::test_validate_field_appears_at_least_once[records10-configured_catalog10-] ✓61% ██████▎   
          test_core.py::test_validate_field_appears_at_least_once[records11-configured_catalog11-] ✓62% ██████▎   
          test_core.py::test_validate_field_appears_at_least_once[records12-configured_catalog12-`test1` stream has `\\['/f3\\(0\\)/f4', '/f3\\(1\\)/f5\\(0\\)/f6', '/f3\\(1\\)/f5\\(1\\)/f7'\\]`] ✓62% ██████▎   
          test_incremental.py::test_compare_cursor_with_threshold[record_value0-state_value0-0-True] ✓62% ██████▎   
          test_incremental.py::test_compare_cursor_with_threshold[record_value1-state_value1-0-False] ✓63% ██████▍   
          test_incremental.py::test_compare_cursor_with_threshold[record_value2-state_value2-1-True] ✓63% ██████▍   
          test_incremental.py::test_compare_cursor_with_threshold[record_value3-state_value3-0-True] ✓63% ██████▍   
          test_incremental.py::test_compare_cursor_with_threshold[record_value4-state_value4-0-False] ✓64% ██████▍   
          test_incremental.py::test_compare_cursor_with_threshold[record_value5-state_value5-1-True] ✓64% ██████▍   
          test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-09-0-True] ✓64% ██████▌   
          test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-11-0-False] ✓65% ██████▌   
          test_incremental.py::test_compare_cursor_with_threshold[2020-10-10-2020-10-11-1-True] ✓65% ██████▌   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602201600000-0-True] ✓65% ██████▌   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602374400000-0-False] ✓65% ██████▋   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000000-1602374400000-1-True] ✓66% ██████▋   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602201600-0-True] ✓66% ██████▋   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602374400-0-False] ✓66% ██████▋   
          test_incremental.py::test_compare_cursor_with_threshold[1602288000-1602374400-1-True] ✓67% ██████▋   
          test_incremental.py::test_compare_cursor_with_threshold[aaa-bbb-0-False] ✓67% ██████▊   
          test_incremental.py::test_compare_cursor_with_threshold[bbb-aaa-0-True] ✓67% ██████▊   
          test_incremental.py::test_incremental_two_sequential_reads[records10-records20-2020-01-02-0-None-date] ✓68% ██████▊   
          test_incremental.py::test_incremental_two_sequential_reads[records10-records20-2020-01-02-0-None-string] ✓68% ██████▊   
          test_incremental.py::test_incremental_two_sequential_reads[records11-records21-2020-01-02-0-First incremental sync should produce records younger-date] ✓68% ██████▉   
          test_incremental.py::test_incremental_two_sequential_reads[records11-records21-2020-01-02-0-First incremental sync should produce records younger-string] ✓69% ██████▉   
          test_incremental.py::test_incremental_two_sequential_reads[records12-records22-2020-01-02-0-None-date] ✓69% ██████▉   
          test_incremental.py::test_incremental_two_sequential_reads[records12-records22-2020-01-02-0-None-string] ✓69% ██████▉   
          test_incremental.py::test_incremental_two_sequential_reads[records13-records23-2020-01-02-0-Second incremental sync should produce records older-date] ✓70% ███████   
          test_incremental.py::test_incremental_two_sequential_reads[records13-records23-2020-01-02-0-Second incremental sync should produce records older-string] ✓70% ███████   
          test_incremental.py::test_incremental_two_sequential_reads[records14-records24-2020-01-03-2-None-date] ✓70% ███████   
          test_incremental.py::test_incremental_two_sequential_reads[records14-records24-2020-01-03-2-None-string] ✓71% ███████▏  
          test_incremental.py::test_incremental_two_sequential_reads[records15-records25-2020-01-02-2-First incremental sync should produce records younger-date] ✓71% ███████▏  
          test_incremental.py::test_incremental_two_sequential_reads[records15-records25-2020-01-02-2-First incremental sync should produce records younger-string] ✓71% ███████▎  
          test_incremental.py::test_incremental_two_sequential_reads[records16-records26-2020-01-06-3-Second incremental sync should produce records older-date] ✓72% ███████▎  
          test_incremental.py::test_incremental_two_sequential_reads[records16-records26-2020-01-06-3-Second incremental sync should produce records older-string] ✓72% ███████▎  
          test_incremental.py::test_read_with_multiple_states[test_incremental_with_2_states-records0-state_records0-0-None] ✓72% ███████▎  
          test_incremental.py::test_read_with_multiple_states[test_first_incremental_only_younger_records-records1-state_records1-0-AssertionError] ✓73% ███████▍  
          test_incremental.py::test_read_with_multiple_states[test_incremental_with_threshold-records2-state_records2-3-None] ✓73% ███████▍  
          test_incremental.py::test_read_with_multiple_states[test_incremental_with_incorrect_messages-records3-state_records3-0-AssertionError] ✓73% ███████▍  
          test_incremental.py::test_read_with_multiple_states[test_incremental_with_multiple_streams-records4-state_records4-0-None] ✓74% ███████▍  
          test_incremental.py::test_read_with_multiple_states[test_incremental_with_none_state-records5-state_records5-0-None] ✓74% ███████▍  
          test_incremental.py::test_config_skip_test ✓                     74% ███████▌  
          test_json_schema_helper.py::test_simple_path ✓                   75% ███████▌  
          test_json_schema_helper.py::test_nested_path ✓                   75% ███████▌  
          test_json_schema_helper.py::test_absolute_path ✓                 75% ███████▌  
          test_json_schema_helper.py::test_none_state ✓                    75% ███████▋  
          test_json_schema_helper.py::test_json_schema_helper_pydantic_generated ✓76% ███████▋  
          test_json_schema_helper.py::test_get_object_strucutre[object0-pathes0] ✓76% ███████▋  
          test_json_schema_helper.py::test_get_object_strucutre[object1-pathes1] ✓76% ███████▋  
          test_json_schema_helper.py::test_get_object_strucutre[object2-pathes2] ✓77% ███████▋  
          test_json_schema_helper.py::test_get_object_strucutre[object3-pathes3] ✓77% ███████▊  
          test_json_schema_helper.py::test_get_object_strucutre[object4-pathes4] ✓77% ███████▊  
          test_json_schema_helper.py::test_get_object_strucutre[object5-pathes5] ✓78% ███████▊  
          test_json_schema_helper.py::test_get_object_strucutre[object6-pathes6] ✓78% ███████▊  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema0-pathes0] ✓78% ███████▉  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema1-pathes1] ✓79% ███████▉  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema2-pathes2] ✓79% ███████▉  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema3-pathes3] ✓79% ███████▉  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema4-pathes4] ✓80% ████████  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema5-pathes5] ✓80% ████████  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema6-pathes6] ✓80% ████████  
          test_json_schema_helper.py::test_get_expected_schema_structure[schema7-pathes7] ✓81% ████████▏ 
          test_json_schema_helper.py::test_get_expected_schema_structure[schema8-pathes8] ✓81% ████████▏ 
          test_json_schema_helper.py::test_get_expected_schema_structure[schema9-pathes9] ✓81% ████████▎ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec0-True] ✓   82% ████████▎ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec1-True] ✓   82% ████████▎ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec2-True] ✓   82% ████████▎ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec3-True] ✓   83% ████████▍ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec4-False] ✓  83% ████████▍ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec5-False] ✓  83% ████████▍ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec6-True] ✓   84% ████████▍ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec7-True] ✓   84% ████████▍ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec8-True] ✓   84% ████████▌ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec9-False] ✓  85% ████████▌ 
          test_spec.py::test_ref_in_spec_schemas[connector_spec10-True] ✓  85% ████████▌ 
          test_spec.py::test_oneof_usage[all_good] ✓                       85% ████████▌ 
          test_spec.py::test_oneof_usage[top_level_node_is_not_of_object_type] ✓85% ████████▋ 
          test_spec.py::test_oneof_usage[all_oneof_options_should_have_same_constant_attribute] ✓86% ████████▋ 
          test_spec.py::test_oneof_usage[one_of_item_is_not_of_type_object] ✓86% ████████▋ 
          test_spec.py::test_oneof_usage[no_common_property_for_all_oneof_subobjects] ✓86% ████████▋ 
          test_spec.py::test_oneof_usage[two_common_properties_with_const_keyword] ✓87% ████████▋ 
          test_spec.py::test_oneof_usage[default_keyword_in_common_property] ✓87% ████████▊ 
          test_spec.py::test_validate_oauth_flow[connector_spec0-] ✓       87% ████████▊ 
          test_spec.py::test_validate_oauth_flow[connector_spec1-Specified oauth fields are missed from spec schema:] ✓88% ████████▊ 
          test_spec.py::test_validate_oauth_flow[connector_spec2-] ✓       88% ████████▊ 
          test_spec.py::test_validate_oauth_flow[connector_spec3-Specified oauth fields are missed from spec schema:] ✓88% ████████▉ 
          test_spec.py::test_validate_oauth_flow[connector_spec4-] ✓       89% ████████▉ 
          test_spec.py::test_validate_oauth_flow[connector_spec5-] ✓       89% ████████▉ 
          test_spec.py::test_validate_oauth_flow[connector_spec6-Specified oauth fields are missed from spec schema:] ✓89% ████████▉ 
          test_spec.py::test_validate_oauth_flow[connector_spec7-] ✓       90% █████████ 
          test_spec.py::test_additional_properties_is_true[connector_spec0-expectation0] ✓90% █████████ 
          test_spec.py::test_additional_properties_is_true[connector_spec1-expectation1] ✓90% █████████ 
          test_spec.py::test_additional_properties_is_true[connector_spec2-expectation2] ✓91% █████████▏
          test_spec.py::test_additional_properties_is_true[connector_spec3-expectation3] ✓91% █████████▏
          test_spec.py::test_additional_properties_is_true[connector_spec4-expectation4] ✓91% █████████▎
          test_spec_unit.py::TestEnvAttributes.test_correct_connector_image ✓92% █████████▎
          test_spec_unit.py::TestEnvAttributes.test_connector_image_without_env ✓92% █████████▎
          test_spec_unit.py::TestEnvAttributes.test_docker_image_env_ne_entrypoint ✓92% █████████▎
          test_test_full_refresh.py::test_read_with_ignore_fields[no_ignored_fields_present] ✓93% █████████▍
          test_test_full_refresh.py::test_read_with_ignore_fields[with_ignored_field] ✓93% █████████▍
          test_test_full_refresh.py::test_read_with_ignore_fields[ignore_field_present_but_a_required_is_not] ✓93% █████████▍
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj10-obj20-True] ✓94% █████████▍
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj11-obj21-True] ✓94% █████████▍
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj12-obj22-False] ✓94% █████████▌
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj13-obj23-False] ✓95% █████████▌
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj14-obj24-True] ✓95% █████████▌
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj15-obj25-True] ✓95% █████████▌
          test_utils.py::test_compare_two_records_nested_with_different_orders[obj16-obj26-False] ✓95% █████████▋
          test_utils.py::test_exclude_fields ✓                             96% █████████▋
          test_utils.py::test_successful_logs_reading ✓                    96% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nSome Container Error"}}
         
          test_utils.py::test_failed_reading[interal_error] ✓              96% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nTraceback (most recent call last):\n  File \"<stdin>\", line 1, in <module>\nKeyError: 'bbbb'"}}
         
          test_utils.py::test_failed_reading[traceback] ✓                  97% █████████▋{"type": "LOG", "log": {"level": "ERROR", "message": "Docker container was failed, code 1, error:\nLast Container Logs Line"}}
         e-integrations:bases:source-acceptance-test:_unitTestCoverage
          test_utils.py::test_failed_reading[last_line] ✓                  97% █████████▊
          test_utils.py::test_docker_runner[standard] ✓                    97% █████████▊
          test_utils.py::test_docker_runner[waiting] ✓                     98% █████████▊
          test_utils.py::test_not_found_container ✓                        98% █████████▊
          test_utils.py::TestLoadYamlOrJsonPath.test_load_json ✓           98% █████████▉
          test_utils.py::TestLoadYamlOrJsonPath.test_load_yaml ✓           99% █████████▉
          test_utils.py::TestLoadYamlOrJsonPath.test_load_other ✓          99% █████████▉
          test_utils.py::test_find_all_values_for_key_in_schema[schema0-looking_for_this_key-expected_values0] ✓99% █████████▉
          test_utils.py::test_find_all_values_for_key_in_schema[schema1-looking_for_this_key-expected_values1] ✓99% ██████████
          test_utils.py::test_find_all_values_for_key_in_schema[schema2-looking_for_this_key-expected_values2] ✓100% ██████████=============================== warnings summary ===============================
         source_acceptance_test/tests/test_core.py:170
           /airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:170: PytestUnknownMarkWarning: Unknown pytest.mark.backward_compatibility - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
             @pytest.mark.backward_compatibility
         
         source_acceptance_test/tests/test_core.py:311
           /airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py:311: PytestUnknownMarkWarning: Unknown pytest.mark.backward_compatibility - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
             @pytest.mark.backward_compatibility
         
         test_spec_unit.py: 9 warnings
         test_utils.py: 4 warnings
           /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/docker/utils/utils.py:52: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
             s1 = StrictVersion(v1)
         
         test_spec_unit.py: 9 warnings
         test_utils.py: 4 warnings
           /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/docker/utils/utils.py:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
             s2 = StrictVersion(v2)
         
         -- Docs: https://docs.pytest.org/en/stable/warnings.html
         
         ---------- coverage: platform linux, python 3.9.13-final-0 -----------
         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_full_refresh.py       52      2    96%   34, 65
         source_acceptance_test/tests/test_incremental.py       121     25    79%   21-23, 29-31, 36-43, 48-61, 208-216
         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       110     48    56%   23-26, 32, 36, 39-64, 67-69, 72-74, 77-79, 82-84, 87-89, 92-110, 144-146
         source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
         ----------------------------------------------------------------------------------
         TOTAL                                                 1325    463    65%
         
         4 files skipped due to complete coverage.
         
         Required test coverage of 64.0% reached. Total coverage: 65.06%
         
         Results (302.49s):
              310 passed
         /airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/coverage/control.py:788: CoverageWarning: No data was collected. (no-data-collected)
           self._warn("No data was collected.", slug="no-data-collected")

> Task :airbyte-integrations:bases:source-acceptance-test:unitTest
No data to report.

> Task :airbyte-integrations:bases:source-acceptance-test:airbyteDocker
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
airbytehq/airbyte#1 [internal] load build definition from Dockerfile
airbytehq/airbyte#1 sha256:5e7ec4484b98beff7aeb7a4e712ceffc7b38fdff13cad884ec36afe6a895dcb4
airbytehq/airbyte#1 transferring dockerfile: 1.21kB done
airbytehq/airbyte#1 DONE 0.0s

airbytehq/airbyte#2 [internal] load .dockerignore
airbytehq/airbyte#2 sha256:b4e08add4e122cba4697c35e08a627ad7bfdb78a92e1bf0e91b54ddaac36e135
airbytehq/airbyte#2 transferring context: 100B done
airbytehq/airbyte#2 DONE 0.0s

airbytehq/airbyte#3 [internal] load metadata for docker.io/library/python:3.9.11-alpine3.15
airbytehq/airbyte#3 sha256:615609793cad3a170d91fb8a37323caa348ca31e0a749e824da4c8c1d8da2aa4
airbytehq/airbyte#3 DONE 0.0s

airbytehq/airbyte#4 [base 1/1] FROM docker.io/library/python:3.9.11-alpine3.15
airbytehq/airbyte#4 sha256:b26982ea68e566f4418f23b00585fceb8074e00082fc1e7cf2b85346f39804e3
airbytehq/airbyte#4 DONE 0.0s

airbytehq/airbyte#8 [internal] load build context
airbytehq/airbyte#8 sha256:dfdd14d53ddfa1c324e63d48122c9d3460837ea6178eb034aad5ec0899837c33
airbytehq/airbyte#8 transferring context: 223.39kB done
airbytehq/airbyte#8 DONE 0.0s

airbytehq/airbyte#11 [builder 5/5] RUN pip install --prefix=/install -r *.egg-info/requires.txt
airbytehq/airbyte#11 sha256:347ccba24f1fecf93dbae08112447a06ce58a28f84165ca504b19cb634a1ab48
airbytehq/airbyte#11 CACHED

airbytehq/airbyte#17 [stage-2 7/8] COPY source_acceptance_test ./source_acceptance_test
airbytehq/airbyte#17 sha256:c1e792782eca956e464eebcf87f40bcda43899b732ef00c6218fe76e10ee7c06
airbytehq/airbyte#17 CACHED

airbytehq/airbyte#5 [stage-2 1/8] WORKDIR /airbyte/source_acceptance_test
airbytehq/airbyte#5 sha256:677495ad6746870e5ae1f2b6082de383d8be7121d20f7274b70ec719a6809222
airbytehq/airbyte#5 CACHED

airbytehq/airbyte#7 [builder 2/5] RUN apk --no-cache upgrade     && pip install --upgrade pip     && apk --no-cache add tzdata build-base
airbytehq/airbyte#7 sha256:780e00211f02e5b1d80f59f0bbd4172193f30cfb3904193af99be9e6bc4f9f6a
airbytehq/airbyte#7 CACHED

airbytehq/airbyte#9 [builder 3/5] COPY setup.py ./
airbytehq/airbyte#9 sha256:4577fdda0b09e04bcd607994f5d1a6a06894473be1e4d88f89458fa71e986483
airbytehq/airbyte#9 CACHED

airbytehq/airbyte#14 [stage-2 4/8] RUN echo "Etc/UTC" > /etc/timezone
airbytehq/airbyte#14 sha256:6bc5366f1f053e29b9df64897f5400d69aba7889dfdeb1d20380c63cd3e4db09
airbytehq/airbyte#14 CACHED

airbytehq/airbyte#15 [stage-2 5/8] RUN apk --no-cache add bash
airbytehq/airbyte#15 sha256:293c232b0f4f5b755e830f7af233f4948a0fceea533a62d2f0fd07c1096630ae
airbytehq/airbyte#15 CACHED

airbytehq/airbyte#10 [builder 4/5] RUN python setup.py egg_info
airbytehq/airbyte#10 sha256:98cda5f6dc63cd427d3de7a96cecf7f4a6c0f804b05bcd4e44e9f467e0154fd5
airbytehq/airbyte#10 CACHED

airbytehq/airbyte#16 [stage-2 6/8] COPY pytest.ini setup.py ./
airbytehq/airbyte#16 sha256:d12af1d71999db08abe042f8dd941156f32cdf8135d77ada8a462a8456a479f2
airbytehq/airbyte#16 CACHED

airbytehq/airbyte#13 [stage-2 3/8] COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
airbytehq/airbyte#13 sha256:1fb91a1cfe8fb621529fee06a23e09adcdf39c5279e37de0576a8f3d90dbd0e7
airbytehq/airbyte#13 CACHED

airbytehq/airbyte#12 [stage-2 2/8] COPY --from=builder /install /usr/local
airbytehq/airbyte#12 sha256:54db39ef9e991658df3a4a70726d6cb4c351a30a6f4a17ce32bd0821713b1896
airbytehq/airbyte#12 CACHED

airbytehq/airbyte#6 [builder 1/5] WORKDIR /airbyte/integration_code
airbytehq/airbyte#6 sha256:519943ee918f3d1ec01a319ff0276a627a319f59b692954112b24434e9387dff
airbytehq/airbyte#6 CACHED

airbytehq/airbyte#18 [stage-2 8/8] RUN pip install .
airbytehq/airbyte#18 sha256:50260facf5045539ff915491a011da1d850889368b5e439f2bb90b4fae6bcfdf
airbytehq/airbyte#18 CACHED

airbytehq/airbyte#19 exporting to image
airbytehq/airbyte#19 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
airbytehq/airbyte#19 exporting layers done
airbytehq/airbyte#19 writing image sha256:7a701c173ee9e8f85659288b2670a682e185580e45a707f91e40c55612a7cf2c done
airbytehq/airbyte#19 naming to docker.io/airbyte/source-acceptance-test:dev
airbytehq/airbyte#19 naming to docker.io/airbyte/source-acceptance-test:dev 0.0s done
airbytehq/airbyte#19 DONE 0.1s

> Task :airbyte-integrations:connectors:source-adjust:sourceAcceptanceTest
WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release
============================= test session starts ==============================
platform linux -- Python 3.9.11, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /test_input
plugins: hypothesis-6.54.4, cov-3.0.0, mock-3.6.1, sugar-0.9.5, timeout-1.4.2, requests-mock-1.9.3
collected 29 items

test_core.py ..........s...........s..                                   [ 86%]
test_full_refresh.py .                                                   [ 89%]
test_incremental.py ...                                                  [100%]


=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:51: The previous connector image could not be retrieved.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:229: The previous connector image could not be retrieved.
================== 27 passed, 2 skipped in 159.31s (0:02:39) ===================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings

Execution optimizations have been disabled for 1 invalid unit(s) of work during this build to ensure correctness.
Please consult deprecation warnings for more details.

BUILD SUCCESSFUL in 8m 36s
48 actionable tasks: 35 executed, 3 from cache, 10 up-to-date

@sajarin sajarin requested review from sajarin and removed request for tuanchris September 21, 2022 15:11
@sajarin
Copy link
Contributor

sajarin commented Sep 21, 2022

/publish connector=connectors/source-adjust run-tests=false

🕑 Publishing the following connectors:
connectors/source-adjust
https://github.com/airbytehq/airbyte/actions/runs/3098969157


Connector Did it publish? Were definitions generated?
connectors/source-adjust

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

@sajarin
Copy link
Contributor

sajarin commented Sep 21, 2022

@sbjorn, I don't have access to your PR, so I can't push the related changes that would fix the definition generation.

Add the following to the top of the source_definitions.yaml file located in airbyte-config/init/src/main/resources/seed/

- name: Adjust
  sourceDefinitionId: d3b7fa46-111b-419a-998a-d7f046f6d66d
  dockerRepository: airbyte/source-adjust
  dockerImageTag: 0.1.0
  documentationUrl: https://docs.airbyte.io/integrations/sources/adjust
  icon: adjust.svg
  sourceType: api
  releaseStage: alpha

This should be above Airtable since we're going alphabetically in order here.

Afterwards, return to root and run ./gradlew :airbyte-config:init:processResources. This will generate the source_specs.yaml file. Commit both and ping me so I can merge the PR.

We're almost there! Let me know if you run into any issues.

@sbjorn
Copy link
Contributor Author

sbjorn commented Sep 22, 2022

@sajarin I have updated thesource_definitions.yaml as per your instructions. I was not able to run the :airbyte-config:init:processResources task however, as I don't have the required gcs access:

> Task :airbyte-config:specs:generateSeedConnectorSpecs FAILED
2022-09-22 07:45:27 INFO i.a.c.EnvConfigs(getEnvOrDefault):1096 - Using default value for environment variable SHOULD_RUN_SYNC_WORKFLOWS: 'true'
2022-09-22 07:45:27 INFO i.a.c.EnvConfigs(getEnvOrDefault):1096 - Using default value for environment variable WORKER_PLANE: 'CONTROL_PLANE'
2022-09-22 07:45:27 INFO i.a.c.EnvConfigs(getEnvOrDefault):1096 - Using default value for environment variable SPEC_CACHE_BUCKET: 'io-airbyte-cloud-spec-cache'
2022-09-22 07:45:27 INFO i.a.c.s.SeedConnectorSpecGenerator(run):78 - Updating seeded SOURCE definition specs if necessary...
2022-09-22 07:45:28 INFO i.a.c.s.SeedConnectorSpecGenerator(fetchSpecFromGCS):119 - Seeded spec not found for docker image airbyte/source-adjust:0.1.0 - fetching from GCS bucket io-airbyte-cloud-spec-cache...
Exception in thread "main" com.google.cloud.storage.StorageException: 400 Bad Request
POST https://oauth2.googleapis.com/token
{
  "error": "invalid_grant",
  "error_description": "reauth related error (invalid_rapt)",
  "error_uri": "https://support.google.com/a/answer/9368756",
  "error_subtype": "invalid_rapt"
}

Unfortunately, I can not grant push access to this fork because it is attached to an organization's repository.

@sajarin
Copy link
Contributor

sajarin commented Sep 26, 2022

Merged. Thanks for the PR @sbjorn and thanks for the review @tuanchris!

robbinhan pushed a commit to robbinhan/airbyte that referenced this pull request Sep 29, 2022
* Initial version of the adjust source connector

* source-adjust: add bootstrap.md

* adjust-source: add setup guide

* adjust-source: update integration READMEs

* source-adjust: better stream name

* source-adjust: fix sample conf

* source-adjust: add spec order metadata

* source-adjust: improve spec dimension doc

* source-adjust: warn on custom metric cast failure

* source adjust: Update source_definitions.yaml

* source adjust: Update documentation url
jhammarstedt pushed a commit to jhammarstedt/airbyte that referenced this pull request Oct 31, 2022
* Initial version of the adjust source connector

* source-adjust: add bootstrap.md

* adjust-source: add setup guide

* adjust-source: update integration READMEs

* source-adjust: better stream name

* source-adjust: fix sample conf

* source-adjust: add spec order metadata

* source-adjust: improve spec dimension doc

* source-adjust: warn on custom metric cast failure

* source adjust: Update source_definitions.yaml

* source adjust: Update documentation url
@FarisSquared
Copy link

FarisSquared commented Feb 14, 2023

Thank you, @sbjorn, for this connector.

I am facing a minor issue in normalization two field are normalized to null while they do contain data:
Raw data at the destination contains
{"successful payment_events_est":0,"successful payment_events":12,"day":"2023-01-03","uninstalls":0}
Normalized data would normalize the column successful payment_events_est and successful payment_events with null rather than 0 and 12, respectively.
Do you have any ideas of what's causing that?

UPDATE:
This went away when I upgraded Airbyte!
it changed the normalised names from successful+payment_events_est to successful_payment_events_est

Thanks
Faris

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues area/documentation Improvements or additions to documentation bounty bounty-XL Maintainer program: claimable extra large bounty PR community connectors/source/adjust reward-200
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

7 participants