Normalize bare entity IDs in test parameter preparation - #122
Open
Oluwajuwon-O wants to merge 3 commits into
Open
Normalize bare entity IDs in test parameter preparation#122Oluwajuwon-O wants to merge 3 commits into
Oluwajuwon-O wants to merge 3 commits into
Conversation
CI lints only changed Python files; the new unit test module fell below the pylint threshold because pytest-style methods lack method docstrings.
Oluwajuwon-O
force-pushed
the
feature/bare_entity_ids
branch
from
August 5, 2026 12:09
f52bef6 to
8d16ad9
Compare
Oluwajuwon-O
added a commit
to Oluwajuwon-O/Data-Observation-Toolkit
that referenced
this pull request
Aug 5, 2026
Same CI pylint threshold issue as datakind#122; this stacked branch still carried the pre-fix test module and failed lint at 6.79 (< 7.0).
This was referenced Aug 5, 2026
Oluwajuwon-O
marked this pull request as ready for review
August 6, 2026 15:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR addresses the entity identifier and parameter normalization issues described in the technical documentation .
Hardcoded Execution Artifacts in Test Parameters
Previously, test parameters stored in the database required users to hardcode internal execution prefixes (e.g.,
dot_model__) or dbt macro syntax (e.g.,ref('dot_model__...')). This leaked DOT's internal execution implementation details into the user-facing configuration, making the test metadata brittle and domain-specific.Resolution
to_bare_entity_id,to_dbt_ref, andto_dbt_tableinutils/configuration_utils.py. This allows the database to store clean, domain-neutral entity strings (e.g.,all_airports_data).generate_tests_from_dbto pass parameters through a newprepare_test_parametersfunction. This dynamically wraps bare entity IDs into the correctdbtorGreat Expectationssyntax at runtime.ref()strings and translates deprecated parameter keys (e.g.,referencetoto,form_nametodata_table) to ensure older project configurations do not break.test_entity_id_normalize.pyto assert expected behavior across bare IDs, prefixed tables, quoted dbt references, and legacy parameter aliases.In the Technical Documentation, this is addressed in Section 6.
Asana Task
Deployment Readiness*
Testing
Describe or check:
Deployment Notes
Describe or check:
Rollback Plan
Describe or check:
git revert)Reviewer Guidance / Questions*
Screenshots / Testing Evidence*
SOC 2 Change Management Checklist
./vendor/bin/pest)Provide justification if you are submitting a PR with any boxes checked other than the first.
Reminder for Reviewers: By approving this PR you are confirming that you have reviewed the code for correctness, security, and compliance with our engineering and SOC 2 standards. Do not approve PRs where SOC 2 checklist items are checked without documented justification.
*Optional