docs/platform/connector-development/testing-connectors/README.md
Multiple tests suites compose the Airbyte connector testing pyramid
If you want to run the global test suite, exactly like what is run in CI, you should install airbyte-ci CLI and use the following command:
airbyte-ci connectors --name=<connector_name> test
CI will run all the tests that are available for a connector. This can include all of the tests listed above, if we have the appropriate credentials. At a minimum, it will include the Connector QA checks and any tests that exist in a connector's unit_tests and integration_tests directories.
To run Connector Acceptance tests locally, you must provide connector configuration as a config.json file in a .secrets folder in the connector code directory.
Regression tests may only be run locally with authorization to our cloud resources.
Our CI infrastructure runs the connector tests with airbyte-ci CLI. Connectors tests are automatically and remotely triggered on your branch according to the changes made in your branch.
Passing tests are required to merge a connector pull request.
We use pytest to run unit and integration tests:
# From connector directory
poetry run pytest
:::warning Airbyte is revamping its core Java destinations codebase. We're not reviewing/accepting new Java connectors at this time. :::
We run Java connector tests with gradle.
# Unit tests
./gradlew :airbyte-integrations:connectors:source-postgres:test
# Integration tests
./gradlew :airbyte-integrations:connectors:source-postgres:integrationTestJava
Please note that according to the test implementation you might have to provide connector configurations as a config.json file in a .secrets folder in the connector code directory.