99THIS_DIR = os .path .abspath (os .path .dirname (os .path .realpath (__file__ )))
1010CONFIGS_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