1
0
mirror of synced 2026-01-21 06:08:50 -05:00
Files
airbyte/airbyte-integrations/bases/base-python-test
Jared Rhizor 674ee2cf72 enforce order of installing python dependencies (#1149)
* fix python install order

* fix base install reqs dependencies

* don't clobber dependencies

* remove cacheIf forcing

* it wasn't clobbering actually

* fix pip version

* loosen pyyaml version

* Revert "loosen pyyaml version"

This reverts commit 5a4eb3bc08.

* move tap-adwords dependency

* downgrade shopify api version used to match

* run seed init

* add test curl

* Revert "add test curl"

This reverts commit caee9ee9ee.

* revert to simpler docker times

* rename task function so it doesn't match the task name

* turn off buildkit

* fix redshift dir for credentials

* add twilio and freshdesk to seed yaml

* fix typo

* get shopify passing similar to the adwords fix
2020-12-01 17:40:58 -08:00
..

Running Standard Source Tests for Python Integrations

How to

(note: This is all going to be moved into the template as soon as our templating engine is merged. This is doc is written as if that template exists already. So it assumes that the basic file structure and templated files exist.) In order to use the standard source tests, follow these steps:

  • files for standard test
    • standardtest/__init__.py
    • standardtest/standard_source_test.py
    • standardtestresources/
    • Dockerfile.test
    • requirements.standard-test.txt
  • In standardtest/standard_source_test.py implement the annotated methods. With information specific to your integration.
  • Any files placed in the secrets and standardtest directory will be accessible in the test container / test class via pkgutil.
    • e.g. you can access them will the following Python: pkgutil.get_data(self.__class__.__module__.split(".")[0], "spec.json")
    • todo (cgardens) - we should standardize where spec.json goes, so that we can reliably pull that as well. Right now we look for it in the main module and pull it if we can find it. Maybe we should move it to a resources folder or something so that it is standardized.
  • You can make modification to the test container in Dockerfile.test
  • You can add any dependencies that the test code needs in requirements.standard-test.txt for local development and to the standardtest requirements in setup.py for when it runs in the docker container.
    • Note: by default, the test code does not depend on the main code.