Skip to content

Commit

Permalink
init push for issue 10198
Browse files Browse the repository at this point in the history
  • Loading branch information
McKnight-42 committed Jun 3, 2024
1 parent a34267f commit ef67cff
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions core/dbt/task/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ def before_execute(self):
def execute_data_test(self, data_test: TestNode, manifest: Manifest) -> TestResultData:
context = generate_runtime_model_context(data_test, self.config, manifest)

hook_ctx = self.adapter.pre_model_hook(context)

Check warning on line 129 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L129

Added line #L129 was not covered by tests

materialization_macro = manifest.find_materialization_macro_by_name(
self.config.project_name, data_test.get_materialization(), self.adapter.type()
)
Expand All @@ -140,10 +142,13 @@ def execute_data_test(self, data_test: TestNode, manifest: Manifest) -> TestResu
"Invalid materialization context generated, missing config: {}".format(context)
)

# generate materialization macro
macro_func = MacroGenerator(materialization_macro, context)
# execute materialization macro
macro_func()
try:

Check warning on line 145 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L145

Added line #L145 was not covered by tests
# generate materialization macro
macro_func = MacroGenerator(materialization_macro, context)

Check warning on line 147 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L147

Added line #L147 was not covered by tests
# execute materialization macro
macro_func()

Check warning on line 149 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L149

Added line #L149 was not covered by tests
finally:
self.adapter.post_model_hook(context, hook_ctx)

Check warning on line 151 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L151

Added line #L151 was not covered by tests
# load results from context
# could eventually be returned directly by materialization
result = context["load_result"]("main")
Expand Down Expand Up @@ -198,6 +203,8 @@ def execute_unit_test(
# materialization, not compile the node.compiled_code
context = generate_runtime_model_context(unit_test_node, self.config, unit_test_manifest)

hook_ctx = self.adapter.pre_model_hook(context)

Check warning on line 206 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L206

Added line #L206 was not covered by tests

materialization_macro = unit_test_manifest.find_materialization_macro_by_name(
self.config.project_name, unit_test_node.get_materialization(), self.adapter.type()
)
Expand All @@ -213,16 +220,18 @@ def execute_unit_test(
"Invalid materialization context generated, missing config: {}".format(context)
)

# generate materialization macro
macro_func = MacroGenerator(materialization_macro, context)
# execute materialization macro
try:
# generate materialization macro
macro_func = MacroGenerator(materialization_macro, context)

Check warning on line 225 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L225

Added line #L225 was not covered by tests
# execute materialization macro
macro_func()
except DbtBaseException as e:
raise DbtRuntimeError(
f"An error occurred during execution of unit test '{unit_test_def.name}'. "
f"There may be an error in the unit test definition: check the data types.\n {e}"
)
finally:
self.adapter.post_model_hook(context, hook_ctx)

Check warning on line 234 in core/dbt/task/test.py

View check run for this annotation

Codecov / codecov/patch

core/dbt/task/test.py#L234

Added line #L234 was not covered by tests

# load results from context
# could eventually be returned directly by materialization
Expand Down

0 comments on commit ef67cff

Please sign in to comment.