-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
test_dupe_paths.py
74 lines (61 loc) · 1.67 KB
/
test_dupe_paths.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import pytest
from dbt.tests.util import run_dbt
my_model_sql = """
select 1 as fun
"""
seed_csv = """id,value
4,2
"""
somedoc_md = """
{% docs somedoc %}
Testing, testing
{% enddocs %}
"""
schema_yml = """
version: 2
models:
- name: my_model
description: testing model
"""
# Either a docs or a yml file is necessary to see the problem
# when two of the paths in 'all_source_paths' are the same
class TestDupeProjectPaths:
@pytest.fixture(scope="class")
def models(self):
return {
"my_model.sql": my_model_sql,
"seed.csv": seed_csv,
"somedoc.md": somedoc_md,
"schema.yml": schema_yml,
}
@pytest.fixture(scope="class")
def project_config_update(self):
return {
"model-paths": ["models"],
"seed-paths": ["models"],
}
def test_config_with_dupe_paths(self, project, dbt_project_yml):
results = run_dbt(["seed"])
assert len(results) == 1
results = run_dbt(["run"])
assert len(results) == 1
class TestDupeStrippedProjectPaths:
@pytest.fixture(scope="class")
def models(self):
return {
"my_model.sql": my_model_sql,
"seed.csv": seed_csv,
"somedoc.md": somedoc_md,
"schema.yml": schema_yml,
}
@pytest.fixture(scope="class")
def project_config_update(self):
return {
"model-paths": ["models/"],
"seed-paths": ["models"],
}
def test_config_with_dupe_paths(self, project, dbt_project_yml):
results = run_dbt(["seed"])
assert len(results) == 1
results = run_dbt(["run"])
assert len(results) == 1