From fd45bbb93ad46a825a9c7f6a13a3ea1b88abc6e0 Mon Sep 17 00:00:00 2001 From: Gerda Shank Date: Mon, 29 Jan 2024 11:46:57 -0500 Subject: [PATCH] Expand unit test list test --- tests/functional/unit_testing/test_ut_list.py | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/tests/functional/unit_testing/test_ut_list.py b/tests/functional/unit_testing/test_ut_list.py index 1125d8d843e..739cee12ca2 100644 --- a/tests/functional/unit_testing/test_ut_list.py +++ b/tests/functional/unit_testing/test_ut_list.py @@ -1,5 +1,6 @@ import pytest from dbt.tests.util import run_dbt +import json from fixtures import ( # noqa: F401 my_model_vars_sql, @@ -9,6 +10,7 @@ datetime_test, ) + class TestUnitTestList: @pytest.fixture(scope="class") def models(self): @@ -31,4 +33,49 @@ def test_unit_test_list(self, project): assert len(results) == 5 results = run_dbt(["list"]) + expected = [ + "test.my_model", + "test.my_model_a", + "test.my_model_b", + "unit_test:test.test_my_model", + "unit_test:test.test_my_model_datetime", + "unit_test:test.test_my_model_empty", + "unit_test:test.test_my_model_overrides", + "unit_test:test.test_my_model_string_concat", + ] + assert sorted(results) == sorted(expected) + + results = run_dbt(["list", "--select", "test_type:unit"]) + assert len(results) == 5 + + # Check json result + results = run_dbt(["list", "--select", "test_type:unit", "--output", "json"]) + expected_test_my_model = { + "name": "test_my_model", + "resource_type": "unit_test", + "package_name": "test", + "original_file_path": "models/test_my_model.yml", + "unique_id": "unit_test.test.my_model.test_my_model", + "depends_on": {"macros": [], "nodes": ["model.test.my_model"]}, + "config": {"tags": [], "meta": {}}, + } + for result in results: + json_result = json.loads(result) + if "name" in json_result and json_result["name"] == "test_my_model": + assert json_result == expected_test_my_model + results = run_dbt( + [ + "list", + "--select", + "test_type:unit", + "--output", + "json", + "--output-keys", + "unique_id", + "model", + ] + ) + for result in results: + json_result = json.loads(result) + assert json_result["model"] == "my_model"