Skip to main content

The set of reusable tests and test fixtures used to test common functionality

Project description

dbt logo

dbt-tests-adapter

For context and guidance on using this package, please read: "Testing a new adapter"

What is it?

This package includes reusable test cases that reinforce behaviors common to all or many adapter plugins. There are two categories of tests:

  1. Basic tests that every adapter plugin is expected to pass. These are defined in tests.adapter.basic. Given differences across data platforms, these may require slight modification or reimplementation. Significantly overriding or disabling these tests should be with good reason, since each represents basic functionality expected by dbt users. For example, if your adapter does not support incremental models, you should disable the test, by marking it with skip or xfail, as well as noting that limitation in any documentation, READMEs, and usage guides that accompany your adapter.

  2. Optional tests, for second-order functionality that is common across plugins, but not required for basic use. Your plugin can opt into these test cases by inheriting existing ones, or reimplementing them with adjustments. For now, this category includes all tests located outside the basic subdirectory. More tests will be added as we convert older tests defined on dbt-core and mature plugins to use the standard framework.

How to use it?

Each test case in this repo is packaged as a class, prefixed Base. To enable a test case to run with your adapter plugin, you should inherit the base class into a new class, prefixed Test. That test class will be discovered and run by pytest. It can also makes modifications if needed.

class TestSimpleMaterializations(BaseSimpleMaterializations):
    pass

Distribution

To install:

pip install dbt-tests-adapter

This package is versioned in lockstep with dbt-core, and the same versioning guidelines apply:

  • New "basic" test cases MAY be added in minor versions ONLY. They may not be included in patch releases.
  • Breaking changes to existing test cases MAY be included and communicated as part of minor version upgrades ONLY. They MAY NOT be included in patch releases. We will aim to avoid these whenever possible.
  • New "optional" test cases, and non-breaking fixes to existing test cases, MAY be added in minor or patch versions.

Assuming you adapter plugin is pinned to a specific minor version of dbt-core (e.g. ~=1.1.0), you can use the same pin for dbt-tests-adapter.

Note: This is packaged as a plugin using a python namespace package. It cannot have an __init__.py file in the part of the hierarchy to which it needs to be attached.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt_tests_adapter-1.19.7.tar.gz (170.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbt_tests_adapter-1.19.7-py3-none-any.whl (244.4 kB view details)

Uploaded Python 3

File details

Details for the file dbt_tests_adapter-1.19.7.tar.gz.

File metadata

  • Download URL: dbt_tests_adapter-1.19.7.tar.gz
  • Upload date:
  • Size: 170.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dbt_tests_adapter-1.19.7.tar.gz
Algorithm Hash digest
SHA256 d8c80d0fba32a7c86396a4a34f4b0cef676c742f92628fe6b347859308a523b4
MD5 9cb30a786f2b977a9b99cf2f716d4e4a
BLAKE2b-256 3884308803bda5fea9f9ee914d4bdd5016bb01b716254ec8d01a4cf61f1b76ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_tests_adapter-1.19.7.tar.gz:

Publisher: publish-oss.yml on dbt-labs/dbt-adapters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbt_tests_adapter-1.19.7-py3-none-any.whl.

File metadata

File hashes

Hashes for dbt_tests_adapter-1.19.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5220e3545bbc0136e00fe8e1a70d85b7c0311547d763737d7ce38641efc7bac1
MD5 d047f58556002f51eb4d92dce4950721
BLAKE2b-256 d106fe0a1d46e2bee6ca463abc483ce6a39112eea4eb0ff0a3243c3a3f973971

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_tests_adapter-1.19.7-py3-none-any.whl:

Publisher: publish-oss.yml on dbt-labs/dbt-adapters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page