Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

πŸŽ‰ New Source: Wrike #15638

Merged
merged 48 commits into from
Sep 15, 2022
Merged

πŸŽ‰ New Source: Wrike #15638

merged 48 commits into from
Sep 15, 2022

Conversation

tfoldi
Copy link
Contributor

@tfoldi tfoldi commented Aug 14, 2022

What

This a new source connector for Wrike, which is a work management software used by small and large companies. The source connector works fairly well, but I need some unit tests and feedback from you guys. (So it is WIP)

How

  • It uses Wrike's v4 API and Python CDK's HttpStream
  • Currently it support tasks, comments, contacts, folders and custom attributes

Recommended reading order

It is a plan custom source, the most boring one ever.

🚨 User Impact 🚨

No breaking changes.

Pre-merge Checklist

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
❯ pytest -s unit_tests
Test session starts (platform: darwin, Python 3.9.13, pytest 6.1.2, pytest-sugar 0.9.5)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.hypothesis/examples')
rootdir: /Users/tfoldi/Developer/airbyte, configfile: pytest.ini
plugins: sugar-0.9.5, requests-mock-1.9.3, mock-3.6.1, hypothesis-6.54.3, timeout-1.4.2, cov-3.0.0
collecting ...
 airbyte-integrations/connectors/source-wrike/unit_tests/test_source.py::test_check_connection βœ“                                                                           6% β–‹
 airbyte-integrations/connectors/source-wrike/unit_tests/test_source.py::test_streams_without_date βœ“                                                                      12% β–ˆβ–
 airbyte-integrations/connectors/source-wrike/unit_tests/test_source.py::test_streams_with_date βœ“                                                                         19% β–ˆβ–‰
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_request_params βœ“                                                                           25% β–ˆβ–ˆβ–Œ
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_tasks_request_params βœ“                                                                     31% β–ˆβ–ˆβ–ˆβ–Ž
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_comments_slices βœ“                                                                          38% β–ˆβ–ˆβ–ˆβ–Š
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_next_page_token βœ“                                                                          44% β–ˆβ–ˆβ–ˆβ–ˆβ–
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_parse_response βœ“                                                                           50% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_request_headers βœ“                                                                          56% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‹
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_http_method βœ“                                                                              62% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_should_retry[HTTPStatus.OK-False] βœ“                                                        69% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‰
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_should_retry[HTTPStatus.BAD_REQUEST-False] βœ“                                               75% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Œ
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_should_retry[HTTPStatus.TOO_MANY_REQUESTS-True] βœ“                                          81% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Ž
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_should_retry[HTTPStatus.INTERNAL_SERVER_ERROR-True] βœ“                                      88% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Š
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_backoff_time βœ“                                                                             94% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–
 airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py::test_to_utc_z βœ“                                                                                100% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
=================================================================================== warnings summary ===================================================================================
airbyte-integrations/connectors/source-wrike/unit_tests/test_source.py: 10 warnings
airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py: 12 warnings
  /Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.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()

airbyte-integrations/connectors/source-wrike/unit_tests/test_source.py: 10 warnings
airbyte-integrations/connectors/source-wrike/unit_tests/test_streams.py: 12 warnings
  /Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.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

Results (0.59s):
      16 passed
Integration
> Task :airbyte-integrations:bases:base-normalization:checkPython
Using python 3.9.13 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/base-normalization/.venv (.venv/bin/python)
Using pip 21.3.1 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/base-normalization/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:bases:source-acceptance-test:checkPython
Using python 3.9.13 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv (.venv/bin/python)
Using pip 21.3.1 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:connectors:source-wrike:checkPython
Using python 3.9.13 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.venv (.venv/bin/python)
Using pip 21.3.1 from /Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.venv/lib/python3.9/site-packages/pip (python 3.9)

> Task :airbyte-integrations:bases:base-normalization:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
         Requirement already satisfied: pip==21.3.1 in ./.venv/lib/python3.9/site-packages (21.3.1)
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/Users/tfoldi/Developer/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
         ---------------------- ---------
         airbyte-cdk            0.1.74
         attrs                  22.1.0
         backoff                2.1.2
         black                  22.3.0
         certifi                2022.6.15
         charset-normalizer     2.1.0
         click                  8.1.3
         coverage               6.3.1
         dataclasses-jsonschema 2.15.1
         Deprecated             1.2.13
         dpath                  2.0.6
         flake8                 4.0.1
         idna                   3.3
         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
         normalization          0.0.0
         packaging              21.3
         pathspec               0.9.0
         pendulum               2.1.2
         pip                    21.3.1
         platformdirs           2.5.2
         pluggy                 0.13.1
         py                     1.11.0
         pycodestyle            2.8.0
         pydantic               1.9.2
         pyflakes               2.4.0
         pyparsing              3.0.9
         pyproject-flake8       0.0.1a2
         pyrsistent             0.18.1
         pytest                 6.1.2
         python-dateutil        2.8.2
         pytzdata               2020.1
         PyYAML                 5.4.1
         requests               2.28.1
         setuptools             63.2.0
         six                    1.16.0
         toml                   0.10.2
         tomli                  2.0.1
         types-PyYAML           6.0.11
         typing_extensions      4.3.0
         urllib3                1.26.11
         vcrpy                  4.2.0
         wheel                  0.37.1
         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 '/Users/tfoldi/Developer/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
         Requirement already satisfied: pip==21.3.1 in ./.venv/lib/python3.9/site-packages (21.3.1)
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/Users/tfoldi/Developer/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
         ---------------------- ---------
         airbyte-cdk            0.1.74
         attrs                  22.1.0
         backoff                2.1.2
         black                  22.3.0
         certifi                2022.6.15
         charset-normalizer     2.1.0
         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.0rc8
         fancycompleter         0.9.1
         flake8                 4.0.1
         hypothesis             6.54.3
         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.12.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             63.2.0
         six                    1.16.0
         sortedcontainers       2.4.0
         source-acceptance-test 0.0.0
         termcolor              1.1.0
         toml                   0.10.2
         tomli                  2.0.1
         typing_extensions      4.3.0
         urllib3                1.26.11
         vcrpy                  4.2.0
         websocket-client       1.3.3
         wheel                  0.37.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 '/Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:connectors:source-wrike:pipInstall
[python] .venv/bin/python -m pip install pip==21.3.1
         Requirement already satisfied: pip==21.3.1 in ./.venv/lib/python3.9/site-packages (21.3.1)
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.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.72
         attrs                  22.1.0
         backoff                2.1.2
         black                  22.3.0
         certifi                2022.6.15
         charset-normalizer     2.1.0
         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.0rc8
         fancycompleter         0.9.1
         flake8                 4.0.1
         hypothesis             6.54.3
         hypothesis-jsonschema  0.20.1
         icdiff                 1.9.1
         idna                   3.3
         inflection             0.5.1
         iniconfig              1.1.1
         isort                  5.6.4
         jello                  1.5.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.1
         pyflakes               2.4.0
         Pygments               2.12.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             62.3.2
         six                    1.16.0
         sortedcontainers       2.4.0
         source-acceptance-test 0.0.0     /Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/source-acceptance-test
         source-wrike           0.0.0
         termcolor              1.1.0
         toml                   0.10.2
         tomli                  2.0.1
         typing_extensions      4.3.0
         urllib3                1.26.11
         vcrpy                  4.2.0
         websocket-client       1.3.3
         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 '/Users/tfoldi/Developer/airbyte/airbyte-integrations/connectors/source-wrike/.venv/bin/python -m pip install --upgrade pip' command.

> Task :airbyte-integrations:connectors:source-wrike:isortFormat
[python] .venv/bin/python -m isort --settings-file=/Users/tfoldi/Developer/airbyte/pyproject.toml ./
         Skipped 11 files

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

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

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

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

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

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

> Task :airbyte-integrations:bases:source-acceptance-test:installLocalReqs
[python] .venv/bin/python -m pip install .[dev,tests]
         Processing /Users/tfoldi/Developer/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'
         Requirement already satisfied: airbyte-cdk~=0.1.56 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.1.74)
         Requirement already satisfied: docker~=5.0.3 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (5.0.3)
         Requirement already satisfied: PyYAML~=5.4 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (5.4.1)
         Requirement already satisfied: icdiff~=1.9 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (1.9.1)
         Requirement already satisfied: inflection~=0.5 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.5.1)
         Requirement already satisfied: pdbpp~=0.10 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.10.3)
         Requirement already satisfied: pydantic~=1.6 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (1.9.2)
         Requirement already satisfied: pytest~=6.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (6.1.2)
         Requirement already satisfied: pytest-sugar~=0.9 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.9.5)
         Requirement already satisfied: pytest-timeout~=1.4 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (1.4.2)
         Requirement already satisfied: pprintpp~=0.4 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.4.0)
         Requirement already satisfied: dpath~=2.0.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (2.0.6)
         Requirement already satisfied: jsonschema~=3.2.0 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (3.2.0)
         Requirement already satisfied: jsonref==0.2 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.2)
         Requirement already satisfied: deepdiff~=5.8.0 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (5.8.1)
         Requirement already satisfied: requests-mock~=1.9.3 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (1.9.3)
         Requirement already satisfied: pytest-mock~=3.6.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (3.6.1)
         Requirement already satisfied: pytest-cov~=3.0.0 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (3.0.0)
         Requirement already satisfied: hypothesis~=6.54.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (6.54.3)
         Requirement already satisfied: hypothesis-jsonschema~=0.20.1 in ./.venv/lib/python3.9/site-packages (from source-acceptance-test==0.0.0) (0.20.1)
         Requirement already satisfied: backoff in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.1.2)
         Requirement already satisfied: vcrpy in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (4.2.0)
         Requirement already satisfied: Jinja2~=3.1.2 in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (3.1.2)
         Requirement already satisfied: dataclasses-jsonschema~=2.15.1 in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.15.1)
         Requirement already satisfied: Deprecated~=1.2 in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (1.2.13)
         Requirement already satisfied: pendulum in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.1.2)
         Requirement already satisfied: requests in ./.venv/lib/python3.9/site-packages (from airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.28.1)
         Requirement already satisfied: ordered-set<4.2.0,>=4.1.0 in ./.venv/lib/python3.9/site-packages (from deepdiff~=5.8.0->source-acceptance-test==0.0.0) (4.1.0)
         Requirement already satisfied: websocket-client>=0.32.0 in ./.venv/lib/python3.9/site-packages (from docker~=5.0.3->source-acceptance-test==0.0.0) (1.3.3)
         Requirement already satisfied: exceptiongroup>=1.0.0rc8 in ./.venv/lib/python3.9/site-packages (from hypothesis~=6.54.1->source-acceptance-test==0.0.0) (1.0.0rc8)
         Requirement already satisfied: sortedcontainers<3.0.0,>=2.1.0 in ./.venv/lib/python3.9/site-packages (from hypothesis~=6.54.1->source-acceptance-test==0.0.0) (2.4.0)
         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: pyrsistent>=0.14.0 in ./.venv/lib/python3.9/site-packages (from jsonschema~=3.2.0->source-acceptance-test==0.0.0) (0.18.1)
         Requirement already satisfied: setuptools in ./.venv/lib/python3.9/site-packages (from jsonschema~=3.2.0->source-acceptance-test==0.0.0) (63.2.0)
         Requirement already satisfied: six>=1.11.0 in ./.venv/lib/python3.9/site-packages (from jsonschema~=3.2.0->source-acceptance-test==0.0.0) (1.16.0)
         Requirement already satisfied: wmctrl in ./.venv/lib/python3.9/site-packages (from pdbpp~=0.10->source-acceptance-test==0.0.0) (0.4)
         Requirement already satisfied: fancycompleter>=0.8 in ./.venv/lib/python3.9/site-packages (from pdbpp~=0.10->source-acceptance-test==0.0.0) (0.9.1)
         Requirement already satisfied: pygments in ./.venv/lib/python3.9/site-packages (from pdbpp~=0.10->source-acceptance-test==0.0.0) (2.12.0)
         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: 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: packaging in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (21.3)
         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: iniconfig in ./.venv/lib/python3.9/site-packages (from pytest~=6.1->source-acceptance-test==0.0.0) (1.1.1)
         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)
         Requirement already satisfied: termcolor>=1.1.0 in ./.venv/lib/python3.9/site-packages (from pytest-sugar~=0.9->source-acceptance-test==0.0.0) (1.1.0)
         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)
         Requirement already satisfied: python-dateutil in ./.venv/lib/python3.9/site-packages (from dataclasses-jsonschema~=2.15.1->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.8.2)
         Requirement already satisfied: wrapt<2,>=1.10 in ./.venv/lib/python3.9/site-packages (from Deprecated~=1.2->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (1.14.1)
         Requirement already satisfied: pyrepl>=0.8.2 in ./.venv/lib/python3.9/site-packages (from fancycompleter>=0.8->pdbpp~=0.10->source-acceptance-test==0.0.0) (0.9.0)
         Requirement already satisfied: MarkupSafe>=2.0 in ./.venv/lib/python3.9/site-packages (from Jinja2~=3.1.2->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.1.1)
         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)
         Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./.venv/lib/python3.9/site-packages (from requests->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (1.26.11)
         Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.9/site-packages (from requests->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (3.3)
         Requirement already satisfied: charset-normalizer<3,>=2 in ./.venv/lib/python3.9/site-packages (from requests->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2.1.0)
         Requirement already satisfied: certifi>=2017.4.17 in ./.venv/lib/python3.9/site-packages (from requests->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2022.6.15)
         Requirement already satisfied: pytzdata>=2020.1 in ./.venv/lib/python3.9/site-packages (from pendulum->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (2020.1)
         Requirement already satisfied: yarl in ./.venv/lib/python3.9/site-packages (from vcrpy->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (1.8.1)
         Requirement already satisfied: multidict>=4.0 in ./.venv/lib/python3.9/site-packages (from yarl->vcrpy->airbyte-cdk~=0.1.56->source-acceptance-test==0.0.0) (6.0.2)
         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=53583 sha256=4fbc68a910eaff8fe05bd645f6f4e66daac20aba176f421e60c6bfc56a47b19f
           Stored in directory: /Users/tfoldi/Library/Caches/pip/wheels/eb/4c/58/1544c4b54c44350704202ab54deb86d5c10620c1a6989e3fb2
         Successfully built source-acceptance-test
         Installing collected packages: source-acceptance-test
           Attempting uninstall: source-acceptance-test
             Found existing installation: source-acceptance-test 0.0.0
             Uninstalling source-acceptance-test-0.0.0:
               Successfully uninstalled source-acceptance-test-0.0.0
         Successfully installed source-acceptance-test-0.0.0
         WARNING: You are using pip version 21.3.1; however, version 22.2.2 is available.
         You should consider upgrading via the '/Users/tfoldi/Developer/airbyte/airbyte-integrations/bases/source-acceptance-test/.venv/bin/python -m pip install --upgrade pip' command.

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

> Task :airbyte-integrations:bases:base-normalization:isortFormat
         Skipped 4 files

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

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


Acceptance
Test session starts (platform: linux, Python 3.9.11, pytest 6.2.5, pytest-sugar 0.9.5)
rootdir: /test_input
plugins: mock-3.6.1, sugar-0.9.5, cov-3.0.0, timeout-1.4.2, requests-mock-1.9.3, hypothesis-6.54.2
collecting ...
 test_core.py βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“sβœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“βœ“sβœ“βœ“                                                                                                                                   96% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‹
 test_full_refresh.py βœ“                                                                                                                                                  100% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

=============================================================================== short test summary info ================================================================================
SKIPPED [1] source_acceptance_test/plugin.py:60: Skipping TestIncremental.test_two_sequential_reads because not found in the config
SKIPPED [1] source_acceptance_test/tests/test_core.py:51: The previous connector image could not be retrieved.
SKIPPED [1] source_acceptance_test/tests/test_core.py:229: The previous connector image could not be retrieved.

Results (34.90s):
      24 passed
       2 skipped

@CLAassistant
Copy link

CLAassistant commented Aug 14, 2022

CLA assistant check
All committers have signed the CLA.

@marcosmarxm
Copy link
Member

Thanks for the contribution @tfoldi please let us know when it's ready to review.

@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Aug 16, 2022
@sajarin sajarin removed the request for review from harshithmullapudi September 8, 2022 17:37
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 @tfoldi, thank you for contributing. Your code looks good so far. I left some comments on things you can improve for readability.

@tfoldi
Copy link
Contributor Author

tfoldi commented Sep 11, 2022

sure, just implemented the changes @tuanchris

@sajarin
Copy link
Contributor

sajarin commented Sep 14, 2022

@tfoldi can you post a screenshot of passing acceptance tests?

@tfoldi
Copy link
Contributor Author

tfoldi commented Sep 14, 2022

Logs were attached in the original PR description, but if you prefer images:

image

image

@sajarin
Copy link
Contributor

sajarin commented Sep 14, 2022

/publish connector=connectors/source-wrike

πŸ•‘ Publishing the following connectors:
connectors/source-wrike
https://github.com/airbytehq/airbyte/actions/runs/3054925128


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

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

@sajarin
Copy link
Contributor

sajarin commented Sep 14, 2022

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

πŸ•‘ Publishing the following connectors:
connectors/source-wrike
https://github.com/airbytehq/airbyte/actions/runs/3055312730


Connector Did it publish? Were definitions generated?
connectors/source-wrike βœ… ❌

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

@sajarin sajarin merged commit a61ac9f into airbytehq:master Sep 15, 2022
@sajarin
Copy link
Contributor

sajarin commented Sep 15, 2022

Thanks for the connector @tfoldi and thanks for the review @tuanchris!

@tfoldi tfoldi deleted the source-wrike branch September 15, 2022 18:01
robbinhan pushed a commit to robbinhan/airbyte that referenced this pull request Sep 29, 2022
* Connector skeleton

* Implement the first two endpoints with incomplete schema

* Add more fields to download from tasks

* Add more fields to download from tasks

* Add new entities plus refector a few stuff

* Complete all schema jsons

* Add slice management for comments

* complete schema definition for folders

* remove incremental tests

* Removing as no incremental support yet

* Format as pep8

* sample config files

* add newer version of the catalog

* remove unused import

* use wrike cataglog

* remove additional properties

* remove incremental tests

* reformat everything with Prettifier

* Add developer notes

* Add source-wrike badge

* Add Wrike source as alpha

* Document Wrike connector usage

* Add title fields for input parameters

* fix typo

* handle empty start date string

* add unit tests for wrike source

* remove unnecessary comments

* duplicated file

* document how to get permanent tokens

* Add link to API documentation

* Apply gradlew format

* Add workflow endpoint

* Change youtube back to Beta

* Remove unnecesary TODO comment

* Add null constraints

* Code cleanup in check_connection and streams

* Improved null constraints in schema

* Convert arrays with one element to string

* chore: update source_definitions.yaml

* chore: generate/update source_specs.yaml

Co-authored-by: sajarin <sajarindider@gmail.com>
@sajarin sajarin requested review from tuanchris and removed request for tuanchris October 6, 2022 00:48
jhammarstedt pushed a commit to jhammarstedt/airbyte that referenced this pull request Oct 31, 2022
* Connector skeleton

* Implement the first two endpoints with incomplete schema

* Add more fields to download from tasks

* Add more fields to download from tasks

* Add new entities plus refector a few stuff

* Complete all schema jsons

* Add slice management for comments

* complete schema definition for folders

* remove incremental tests

* Removing as no incremental support yet

* Format as pep8

* sample config files

* add newer version of the catalog

* remove unused import

* use wrike cataglog

* remove additional properties

* remove incremental tests

* reformat everything with Prettifier

* Add developer notes

* Add source-wrike badge

* Add Wrike source as alpha

* Document Wrike connector usage

* Add title fields for input parameters

* fix typo

* handle empty start date string

* add unit tests for wrike source

* remove unnecessary comments

* duplicated file

* document how to get permanent tokens

* Add link to API documentation

* Apply gradlew format

* Add workflow endpoint

* Change youtube back to Beta

* Remove unnecesary TODO comment

* Add null constraints

* Code cleanup in check_connection and streams

* Improved null constraints in schema

* Convert arrays with one element to string

* chore: update source_definitions.yaml

* chore: generate/update source_specs.yaml

Co-authored-by: sajarin <sajarindider@gmail.com>
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/wrike reward-200
Projects
Development

Successfully merging this pull request may close these issues.

None yet

8 participants