Skip to main content

dbt Tests

info

dbt tests integration must come on top of an already existing dbt integration in Catalog.

dbt Tests Integration Requires Two Types of Files

  • a manifest
  • run results

Fetching a Manifest

dbt tests integration is client-managed, so you should already fetch the manifest in your dbt Core integration. Only one manifest is needed.

Fetching Run Results

run_results.json files are generated at each run command and contain the results of your tests.

They are located in the same /target directory as your manifest by default. You can fetch several run results files and upload them (if your tests are run on different schedules, in different DAGs).

Catalog Managed

Input your credentials directly in the Catalog App integration settings. We need:

  • a service token

This should be the same as the one provided for your dbt (Catalog managed) integration. We will store your credentials separately for security.

The dbt Base URL of your account

By default, https://cloud.getdbt.com will be used but depending on your region, the URL might change. See more in the dbt Cloud API documentation.

For your first sync, it will take up to 48 h and we will let you know when it is complete.

If you are not comfortable giving us access to your credentials, please continue to Client Managed.

Client Managed

1. One Shot Load

During your Catalog trial we offer a one-shot sync of your tests. Simply send both files to your Catalog sales representative via email or Slack.

2. Scheduled Sync

The Catalog team will provide you with:

  • Catalog Identifier (an id for us to match your dbt files with your Catalog instance)
  • Catalog Token An API Token

You can then use the castor-upload command:

castor-upload [arguments]

Arguments

  • -k, --token: Token provided by Catalog

For security purposes, Catalog only provides write access. We are careful with permissions because by providing read access, a mistake could create cross-client read access and put data safety at risk. You will only be able to send files, but you will not see which files you have already sent.

See the Uploader documentation.

info

When pushing your dbt run_results with the Uploader, please use file_type: QUALITY

Scheduling the Sync

  • You can schedule it using your classic Airflow workflow.
  • Or you can do it any way you prefer.