From 201d75bd1c3d8da7225990f96ccfe8987dcd70a8 Mon Sep 17 00:00:00 2001 From: Kshitij Aranke Date: Tue, 28 Nov 2023 17:14:41 +0000 Subject: [PATCH] Break tests into multiple classes --- tests/functional/docs/test_generate.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/functional/docs/test_generate.py b/tests/functional/docs/test_generate.py index 33dcdd59edb..1047600a820 100644 --- a/tests/functional/docs/test_generate.py +++ b/tests/functional/docs/test_generate.py @@ -25,7 +25,7 @@ """ -class TestGenerate: +class TestBaseGenerate: @pytest.fixture(scope="class") def models(self): return { @@ -41,6 +41,8 @@ def seeds(self): "second_seed.csv": sample_seed, } + +class TestGenerateManifestNotCompiled(TestBaseGenerate): def test_manifest_not_compiled(self, project): run_dbt(["docs", "generate", "--no-compile"]) # manifest.json is written out in parsing now, but it @@ -50,23 +52,31 @@ def test_manifest_not_compiled(self, project): assert model_id in manifest.nodes assert manifest.nodes[model_id].compiled is False + +class TestGenerateEmptyCatalog(TestBaseGenerate): def test_generate_empty_catalog(self, project): catalog = run_dbt(["docs", "generate", "--empty-catalog"]) assert catalog.nodes == {}, "nodes should be empty" assert catalog.sources == {}, "sources should be empty" assert catalog.errors is None, "errors should be null" + +class TestGenerateSelectLimitsCatalog(TestBaseGenerate): def test_select_limits_catalog(self, project): run_dbt(["run"]) catalog = run_dbt(["docs", "generate", "--select", "my_model"]) assert len(catalog.nodes) == 1 assert "model.test.my_model" in catalog.nodes + +class TestGenerateSelectLimitsNoMatch(TestBaseGenerate): def test_select_limits_no_match(self, project): run_dbt(["run"]) catalog = run_dbt(["docs", "generate", "--select", "my_missing_model"]) assert len(catalog.nodes) == 0 + +class TestGenerateCatalogWithSources(TestBaseGenerate): def test_catalog_with_sources(self, project): run_dbt(["build"]) catalog = run_dbt(["docs", "generate"]) @@ -76,6 +86,8 @@ def test_catalog_with_sources(self, project): # 2 sources (only ones that exist) assert len(catalog.sources) == 2 + +class TestGenerateSelectSource(TestBaseGenerate): def test_select_source(self, project): run_dbt(["build"]) catalog = run_dbt(["docs", "generate", "--select", "source:test.my_seed.sample_seed"])