elementary icon indicating copy to clipboard operation
elementary copied to clipboard

Add tox-based Integration Testing support for this package

Open emmyoop opened this issue 1 year ago • 2 comments

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:

  • dbt Labs to test this package, ensuring that dbt Cloud customers can confidently receive continuous dbt updates ("Versionless")
  • dbt Labs to proactively identify any incompatibilities or functional regressions before they are released in final versions of dbt Core OSS.
  • Package maintainers to consistently test changes in the same manner as dbt Labs will test new releases.

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.

emmyoop avatar Sep 09 '24 15:09 emmyoop

Hi @emmyoop ! Thanks for opening this, and sorry for just responding to it. This is a really cool infra and I appreciate the effort from dbt to test external packages as a part of your CD processes.

I can't promise a concrete timeline but we'll see when it's possible for us to make these changes (we already have an integration tests infra using py.test on multiple DWHs, but not with tox currently).

Itamar

haritamar avatar Oct 01 '24 11:10 haritamar

@haritamar I've been working on trying to get this setup on your project for just postgres. Adding additional adapter testing is very straightforward at that point. I'll reach out if I have any questions.

emmyoop avatar Oct 10 '24 17:10 emmyoop