]> scripts.mit.edu Git - wizard.git/blob - wizard/tests/util_test.py
a328cd1516e2175d319d78ec6d7c7283eebed427
[wizard.git] / wizard / tests / util_test.py
1 import traceback
2
3 from wizard.util import *
4
5 class MyError(Exception):
6     def __str__(self):
7         return """
8
9 ERROR: Foo
10 """
11
12 class MyErrorWithHTML(Exception):
13     def __str__(self):
14         return """
15
16 ERROR: Bar
17
18 <html>
19     <title>No good!</title>
20 </html>
21 """
22
23 def test_dictmap():
24     assert dictmap(lambda x: x + 1, {'a': 0, 'b': 1}) == {'a': 1, 'b': 2}
25
26 def test_get_dir_uid():
27     if os.getuid(): return # only run if on a scripts server. This is crude
28     assert get_dir_uid("/mit/ezyang/web_scripts/test-wiki") == 537864399
29
30 def test_get_dir_uid_locker():
31     if os.getuid(): return
32     assert get_dir_uid("/mit/apo/web_scripts/") == 536956980
33
34 def test_get_exception_name():
35     try:
36         raise NotImplementedError
37     except NotImplementedError:
38         assert get_exception_name(traceback.format_exc()) == "NotImplementedError"
39
40 def test_get_exception_name_withstr():
41     try:
42         raise MyError
43     except MyError:
44         assert get_exception_name(traceback.format_exc()) == "MyError"
45
46 def test_get_exception_name_withhtml():
47     try:
48         raise MyErrorWithHTML
49     except MyErrorWithHTML:
50         assert get_exception_name(traceback.format_exc()) == "MyErrorWithHTML"
51
52 def test_get_exception_name_withstr2():
53     try:
54         raise Exception("This is extra info we don't care about");
55     except Exception:
56         assert get_exception_name(traceback.format_exc()) == "Exception"