Skip to content

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

7 participants