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

Test suite for non-core plugins #2492

Closed
drewbanin opened this issue May 27, 2020 · 1 comment · Fixed by #2610
Closed

Test suite for non-core plugins #2492

drewbanin opened this issue May 27, 2020 · 1 comment · Fixed by #2610
Labels
1.0.0 Issues related to the 1.0.0 release of dbt adapter_plugins Issues relating to third-party adapter plugins repo ci/cd Testing and continuous integration for dbt-core + adapter plugins

Comments

@drewbanin
Copy link
Contributor

drewbanin commented May 27, 2020

Describe the change

Let's add a test suite for the dbt-spark plugin. This plugin should be built with the goal of extension for all dbt plugins in the future, but the first cut should be spark-specific to make the scope manageable.

Test suite goals:

  • assert compliance for dbt-spark with core functionality
  • help plugin maintainers upgrade to new versions of Core

Describe alternatives you've considered

We could make per-plugin integration test suites. This would lead to a ton of repeated work for community-contributed plugin authors.

Additional context

We've discussed at length some ideas around the implementation of this test suite, but the final implementation remains a little bit nebulous. There are lots of ways for us to make our first forays here. I think for a first cut, we should:

  • Create generic-ish integration tests for core dbt functionality (creating tables, views, incrementals, etc)
  • Allow plugins to define which dbt features are unsupported, and skip related tests or allow them to fail
  • Allow extension of tests
    • This is an important one. Spark's vanilla incremental models require the specification of a partition_by config to run. Spark's integration tests should be able to assert that incremental models work correctly given the required configurations for these models.

Who will this benefit?

  • dbt maintainers
  • plugin maintainers
  • consumers of plugins (which features are supported?)
@drewbanin drewbanin added repo ci/cd Testing and continuous integration for dbt-core + adapter plugins 1.0.0 Issues related to the 1.0.0 release of dbt labels May 27, 2020
@jtcohen6 jtcohen6 added this to the Marian Anderson milestone Jul 6, 2020
@jtcohen6 jtcohen6 linked a pull request Jul 7, 2020 that will close this issue
4 tasks
@jtcohen6 jtcohen6 reopened this Jul 29, 2020
@jtcohen6
Copy link
Contributor

I had incorrectly caused this issue to be closed by linking it to #2610, which was a prerequisite and not a resolution.

I am, however, going to close older issues that relate to refactoring the test suite / dbt-integration-tests, with the shared goal of easing the path for plugin development.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0.0 Issues related to the 1.0.0 release of dbt adapter_plugins Issues relating to third-party adapter plugins repo ci/cd Testing and continuous integration for dbt-core + adapter plugins
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants