Skip to content

Commit 49a9885

Browse files
committed
Restructured tests.
1 parent 5acf7c0 commit 49a9885

File tree

1 file changed

+88
-149
lines changed

1 file changed

+88
-149
lines changed

tests/test_config.py

Lines changed: 88 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -9,63 +9,49 @@
99
THIS_DIR = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
1010
CONFIGS_DIR = os.path.join(THIS_DIR, "data", "configs")
1111

12-
class TestConfig(unittest.TestCase):
13-
def test_local_autograder_json_current_dir(self):
14-
work_dir = "simple"
15-
16-
expected_config = {
12+
TESTS = {
13+
"test_local_autograder_json_current_dir": {
14+
"test_work_dir": "simple",
15+
"expected_config": {
1716
"user": "user@test.edulinq.org"
18-
}
19-
20-
expected_source = {
17+
},
18+
"expected_source": {
2119
"user": (
2220
"<default config file>:: %s"
2321
% os.path.join('TEMP_DIR', 'simple', 'autograder.json')
2422
)
2523
}
26-
27-
self._evaluate_test_config(work_dir, expected_config, expected_source)
28-
29-
def test_local_config_json_current_dir(self):
30-
work_dir = "old-name"
31-
32-
expected_config = {
24+
},
25+
"test_local_config_json_current_dir": {
26+
"test_work_dir": "old-name",
27+
"expected_config": {
3328
"user": "user@test.edulinq.org"
34-
}
35-
36-
expected_source = {
29+
},
30+
"expected_source": {
3731
"user": (
3832
"<default config file>:: %s"
3933
% os.path.join('TEMP_DIR', 'old-name', 'config.json')
4034
)
4135
}
42-
43-
self._evaluate_test_config(work_dir, expected_config, expected_source)
44-
45-
def test_local_ancestor_dir(self):
46-
work_dir = os.path.join("nested", "nest1", "nest2.1")
47-
48-
expected_config = {
36+
},
37+
"test_local_ancestor_dir": {
38+
"test_work_dir": os.path.join("nested", "nest1", "nest2.1"),
39+
"expected_config": {
4940
"server": "http://testserver.edu"
50-
}
51-
52-
expected_source = {
41+
},
42+
"expected_source": {
5343
"server": (
5444
"<default config file>:: %s"
5545
% os.path.join('TEMP_DIR', 'nested', 'autograder.json')
5646
)
5747
}
58-
59-
self._evaluate_test_config(work_dir, expected_config, expected_source)
60-
61-
def test_local_all(self):
62-
work_dir = os.path.join("nested", "nest1", "nest2.2")
63-
64-
expected_config = {
48+
},
49+
"test_local_all": {
50+
"test_work_dir": os.path.join("nested", "nest1", "nest2.2"),
51+
"expected_config": {
6552
"user": "user@test.edulinq.org"
66-
}
67-
68-
expected_source = {
53+
},
54+
"expected_source": {
6955
"user": "%s %s" % (
7056
"<default config file>::",
7157
os.path.join(
@@ -77,61 +63,43 @@ def test_local_all(self):
7763
)
7864
)
7965
}
80-
81-
self._evaluate_test_config(work_dir, expected_config, expected_source)
82-
83-
def test_global(self):
84-
work_dir = "empty-dir"
85-
86-
expected_config = {
66+
},
67+
"test_global": {
68+
"test_work_dir": "empty-dir",
69+
"expected_config": {
8770
"user": "user@test.edulinq.org"
88-
}
89-
90-
expected_source = {
71+
},
72+
"expected_source": {
9173
"user": (
9274
"<user config file>:: %s"
9375
% os.path.join('TEMP_DIR', 'global', 'autograder.json')
9476
)
95-
}
96-
97-
self._evaluate_test_config(
98-
work_dir, expected_config,
99-
expected_source, config_global = os.path.join("global", "autograder.json")
100-
)
101-
102-
def test_cli_provided_overriding(self):
103-
work_dir = "empty-dir"
104-
105-
expected_config = {
77+
},
78+
"config_global": os.path.join("global", "autograder.json")
79+
},
80+
"test_cli_provided_overriding": {
81+
"test_work_dir": "empty-dir",
82+
"expected_config": {
10683
"user": "user@test.edulinq.org"
107-
}
108-
109-
expected_source = {
84+
},
85+
"expected_source": {
11086
"user": (
11187
"<cli config file>:: %s"
11288
% os.path.join('TEMP_DIR', 'simple', 'autograder.json')
11389
)
114-
}
115-
116-
list_config_paths = [
90+
},
91+
"config_paths": [
11792
os.path.join("global", "autograder.json"),
11893
os.path.join("simple", "autograder.json")
11994
]
120-
121-
self._evaluate_test_config(
122-
work_dir, expected_config,
123-
expected_source, config_paths = list_config_paths
124-
)
125-
126-
def test_cli_provided(self):
127-
work_dir = "empty-dir"
128-
129-
expected_config = {
95+
},
96+
"test_cli_provided": {
97+
"test_work_dir": "empty-dir",
98+
"expected_config": {
13099
"user": "user@test.edulinq.org",
131100
"server": "http://testserver.edu"
132-
}
133-
134-
expected_source = {
101+
},
102+
"expected_source": {
135103
"user": (
136104
"<cli config file>:: %s"
137105
% os.path.join('TEMP_DIR', 'simple', 'autograder.json')
@@ -140,101 +108,72 @@ def test_cli_provided(self):
140108
"<cli config file>:: %s"
141109
% os.path.join('TEMP_DIR', 'nested', 'autograder.json')
142110
)
143-
}
144-
145-
list_config_paths = [
111+
},
112+
"config_paths": [
146113
os.path.join("nested", "autograder.json"),
147114
os.path.join("simple", "autograder.json")
148115
]
149-
150-
self._evaluate_test_config(
151-
work_dir, expected_config,
152-
expected_source, config_paths = list_config_paths
153-
)
154-
155-
def test_global_local(self):
156-
work_dir = "simple"
157-
158-
expected_config = {
116+
},
117+
"test_global_local": {
118+
"test_work_dir": "simple",
119+
"expected_config": {
159120
"user": "user@test.edulinq.org"
160-
}
161-
162-
expected_source = {
121+
},
122+
"expected_source": {
163123
"user": (
164124
"<default config file>:: %s"
165125
% os.path.join('TEMP_DIR', 'simple', 'autograder.json')
166126
)
167-
}
168-
169-
self._evaluate_test_config(
170-
work_dir, expected_config,
171-
expected_source, config_global = os.path.join("global", "autograder.json")
172-
)
173-
174-
def test_cli_global(self):
175-
work_dir = "empty-dir"
176-
177-
expected_config = {
127+
},
128+
"config_global": os.path.join("global", "autograder.json")
129+
},
130+
"test_cli_global": {
131+
"test_work_dir": "empty-dir",
132+
"expected_config": {
178133
"user": "user@test.edulinq.org"
179-
}
180-
181-
expected_source = {
134+
},
135+
"expected_source": {
182136
"user": (
183137
"<cli config file>:: %s"
184138
% os.path.join('TEMP_DIR', 'simple', 'autograder.json')
185139
)
186-
}
187-
188-
list_config_paths = [os.path.join("simple", "autograder.json")]
189-
190-
self._evaluate_test_config(
191-
work_dir, expected_config, expected_source,
192-
config_global = os.path.join("global", "autograder.json"),
193-
config_paths = list_config_paths
194-
)
195-
196-
def test_local_cli(self):
197-
work_dir = "simple"
198-
199-
expected_config = {
140+
},
141+
"config_paths": [os.path.join("simple", "autograder.json")],
142+
"config_global": os.path.join("global", "autograder.json")
143+
},
144+
"test_local_cli": {
145+
"test_work_dir": "simple",
146+
"expected_config": {
200147
"user": "user@test.edulinq.org"
201-
}
202-
203-
expected_source = {
148+
},
149+
"expected_source": {
204150
"user": (
205151
"<cli config file>:: %s"
206152
% os.path.join('TEMP_DIR', 'old-name', 'config.json')
207153
)
208-
}
209-
210-
list_config_paths = [os.path.join("old-name", "config.json")]
211-
212-
self._evaluate_test_config(
213-
work_dir, expected_config,
214-
expected_source, config_paths = list_config_paths
215-
)
216-
217-
def test_all(self):
218-
work_dir = "simple"
219-
220-
expected_config = {
154+
},
155+
"config_paths": [os.path.join("old-name", "config.json")],
156+
},
157+
"test_local_cli_global": {
158+
"test_work_dir": "simple",
159+
"expected_config": {
221160
"user": "user@test.edulinq.org"
222-
}
223-
224-
expected_source = {
161+
},
162+
"expected_source": {
225163
"user": (
226164
"<cli config file>:: %s"
227165
% os.path.join('TEMP_DIR', 'old-name', 'config.json')
228166
)
229-
}
230-
231-
list_config_paths = [os.path.join("old-name", "config.json")]
167+
},
168+
"config_paths": [os.path.join("old-name", "config.json")],
169+
"config_global": os.path.join("global", "autograder.json")
170+
}
171+
}
232172

233-
self._evaluate_test_config(
234-
work_dir, expected_config, expected_source,
235-
config_global = os.path.join("global", "autograder.json"),
236-
config_paths = list_config_paths
237-
)
173+
class TestConfig(unittest.TestCase):
174+
def test_all(self):
175+
for test in TESTS:
176+
self._evaluate_test_config(**TESTS.get(test))
238177

239178
def _evaluate_test_config(
240179
self, test_work_dir, expected_config,

0 commit comments

Comments
 (0)