Skip to content

dbt updates + test coverage#1707

Draft
bmos wants to merge 8 commits intomove-coop:mainfrom
bmos:dbt_tests
Draft

dbt updates + test coverage#1707
bmos wants to merge 8 commits intomove-coop:mainfrom
bmos:dbt_tests

Conversation

@bmos
Copy link
Contributor

@bmos bmos commented Feb 4, 2026

dbt is an important database component, but we had no tests for how we integrate with it.
Closes #1332

What's Changed

  • Created basic dbt test suite
    • Integration tests to watch for changes to dbt api/enum structures
    • Tests for dbtRunnerParsons wrapper class
    • Tests for Manifest class data processing, filtering, and getattr behavior
    • Tests for generating markdown output with appropriate emoji
  • Added placeholder test files for dbt submodules
  • Updated dbt/models.py and dbt/logging.py to handle skipped and failed statuses (introducing blue circle for skipped status)
  • Updated dbt/models.py and dbt/logging.py to utilize NodeStatus Enum rather than hardcoded strings
  • Updated dbt/logging.py to directly use emoji characters (defined once) rather than unicode for readability
  • Updated dbt/logging.py to use f strings and more concise logic

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  parsons/utilities/dbt
  __init__.py
  dbt.py
  logging.py
  models.py 24-26
Project Total  

This report was generated by python-coverage-comment-action

@bmos bmos changed the title Implement dbt tests dbt updates + test coverage Feb 16, 2026
def __init__(self, command: str, dbt_manifest: dbtManifest) -> None:
"""A wrapper for dbt execution results."""

def __init__(self, command: str, dbt_manifest: ExecutionResult) -> None:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@austinweisgrau The type hint change of dbt_manifest from dbtManifest to ExecutionResult is the primary thing I need your input on here.
It silenced a ton of "method not found" errors in my IDE which seemed to indicate that it was mistyped, but I don't know much about dbt to say for sure.
If it was mistyped, the variable name should probably be changed too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

utilities/dbt.py has no coverage

1 participant

Comments