[CT-2560] [Feature] Establish a set of interface tests for adapters
- Dominant language
- Rust
- Stars
- 13.8k
- Forks
- 2.6k
- Avg merge
- 21h 31m
- Merged PRs (30d)
- 56
Description
### Is this your first time submitting a feature request?
- [X] I have read the [expectations for open source contributors](https://docs.getdbt.com/docs/contributing/oss-expectations)
- [X] I have searched the existing issues, and I could not find an existing issue for this feature
- [X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion
### Describe the feature
We should establish a set of interface tests that will notify `dbt-core` maintainers when integration tests should be run against adapters. The goal is to reduce the frequency of downstream impacts on adapter repos while not requiring integration tests to be run every time a feature is added to `dbt-core`. These should be unit-test level, but with a focus on the integration between `dbt-core` and `dbt-`.
For context, this arose from a recent breakage that could have been prevented with a single test. We altered the signature of a method on a base class. This base class gets inherited in adapter repos and overwritten. The incompatible signatures caused a breakage in functionality and tests. If there were a test that maintained this interface, we would have been notified of the need to either update the adapter code as well, or make a different implementation decision.
### Describe alternatives you've considered
_No response_
### Who will this benefit?
All adapter maintainers (both dbt-maintained adapters and third party adapters). We would reduce the frequency with which we break both our own code and the code of folks who depend on us.
### Are you interested in contributing this feature?
_No response_
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.