diff --git a/macros/commands/generate_schema_baseline_test.sql b/macros/commands/generate_schema_baseline_test.sql index 99053625f..f02b1ecac 100644 --- a/macros/commands/generate_schema_baseline_test.sql +++ b/macros/commands/generate_schema_baseline_test.sql @@ -1,6 +1,6 @@ -{% macro generate_schema_baseline_test(name=none, include_sources=True, include_models=False, fail_on_added=False, enforce_types=False, convert_to_lower=False) %} +{% macro generate_schema_baseline_test(name=none, include_sources=True, include_models=False, fail_on_added=False, enforce_types=False, convert_to_lower=False, resource_type=none) %} {% if name %} - {{ generate_schema_baseline_test_for_node(name, fail_on_added=fail_on_added, enforce_types=enforce_types, convert_to_lower=convert_to_lower) }} + {{ generate_schema_baseline_test_for_node(name, fail_on_added=fail_on_added, enforce_types=enforce_types, convert_to_lower=convert_to_lower, resource_type=resource_type) }} {% else %} {{ generate_schema_baseline_test_for_all_nodes(include_sources=include_sources, include_models=include_models, fail_on_added=fail_on_added, enforce_types=enforce_types, convert_to_lower=convert_to_lower) }} @@ -20,11 +20,10 @@ {% endfor %} {% endmacro %} -{% macro generate_schema_baseline_test_for_node(node, fail_on_added=False, enforce_types=False, convert_to_lower=False) %} +{% macro generate_schema_baseline_test_for_node(node, fail_on_added=False, enforce_types=False, convert_to_lower=False, resource_type=none) %} {% if node is string %} {% set node_name = node %} - {% set node = elementary.get_node_by_name(node_name) %} - + {% set node = elementary.get_node_by_name(node_name, resource_type) %} {% if not node %} {% do print("Could not find any model or source by the name '{}'!".format(node_name)) %} {% do return(none) %} @@ -84,7 +83,7 @@ sources: {%- for param, param_val in test_params.items() %} {{param}}: {{param_val}} {%- endfor -%} - {% endif -%} + {% endif -%} {% endmacro %} {% macro generate_schema_baseline_test_for_model(node, columns, test_params, convert_to_lower) %} diff --git a/macros/utils/graph/get_node_by_name.sql b/macros/utils/graph/get_node_by_name.sql index d5c1513bd..58d350db9 100644 --- a/macros/utils/graph/get_node_by_name.sql +++ b/macros/utils/graph/get_node_by_name.sql @@ -1,7 +1,7 @@ -{% macro get_node_by_name(name) %} +{% macro get_node_by_name(name, resource_type=none) %} {%- set nodes = elementary.get_nodes_from_graph() -%} {% for node in nodes %} - {% if node.name == name %} + {% if node.name == name and (resource_type is none or node.resource_type == resource_type) %} {% do return(node) %} {% endif %} {% endfor %}