fivetran / dbt_fivetran_utils

Helper utils for our packages
29 stars 20 forks source link

Add tox-based Integration Testing support for this package #149

Open emmyoop opened 2 months ago

emmyoop commented 2 months ago

Description

dbt Labs is running integration tests for popular open source packages as part of continuous testing and release of dbt.

Add support for testing this package using tox, as described in Standardizing integration tests for popular dbt packages.

Acceptance Criteria

  1. Tests reside in the /integration_tests directory.
  2. Supported adapters are defined in supported_adapters.env at the project root. The variable SUPPORTED_ADAPTERS lists the supported adapters, separated by commas. (Note: Only adapters running in dbt Cloud are currently supported.)
  3. tox is used for running tests.
  4. Each adapter test is defined in the tox.ini file using the naming pattern testenv:dbt_integration_<ADAPTER>.
  5. The profiles.yml for integration tests uses specific naming conventions for the target and environment variables. Examples can be found in dbt-package-testing.

Who will this benefit?

This change will enable:

Final Note

dbt Labs will commence running tests only after the new tests have been released and are available in the latest package version on the hub.

fivetran-joemarkiewicz commented 2 months ago

@emmyoop thanks for opening this issue and I'm very much on board with this initiative. Do you have an example of what the updates will be that are required, or is the plan for someone on your team to open a PR to incorporate the tests?

emmyoop commented 1 month ago

@fivetran-joemarkiewicz I’m planning to open a PR soon that will initially support only Postgres. Focusing on Postgres allows me to streamline the testing process by running everything locally, without needing to deal with authentication details. Adding on more adapters should be a fast follow since the basic testing infrastructure would already exists at that point.

In the meantime, I’ve created an example repo with the necessary changes at dbt-package-testing, if you’d like to take a look at what to expect!