import repository from arizona
[raven.git] / 2.0 / python / test / arizonareportTest.py
1 #! /usr/bin/env python
2 """
3 <Module>
4    arizonareportTest
5 <Author>
6    Jeffry Johnston, under the direction of Justin Cappos
7 <Started>
8    August 13, 2005   
9 <Purpose>
10    Test module for arizonareport.  See arizonareport.py for more 
11    details.
12 """
13
14
15
16
17
18 import os
19 import sys
20 import arizonareport
21 import arizonaunittest
22
23 # Unit tests for each function, listed in code order
24 class test(arizonaunittest.TestCase):
25
26    #------------------------------------------------------------------
27    # get_verbosity() 
28    #------------------------------------------------------------------
29    def test_verbosity(self):
30       self.assertEquals(arizonareport.get_verbosity(), 2)
31       self.assertEquals(arizonareport.get_verbosity(), 2)
32       arizonareport.set_verbosity(3)
33       self.assertEquals(arizonareport.get_verbosity(), 3)
34
35
36
37
38
39    #------------------------------------------------------------------
40    # set_verbosity(verbosity)
41    #------------------------------------------------------------------
42    def test_set_verbosity(self):
43       self.assertException(TypeError, arizonareport.get_verbosity, -1)
44       self.assertException(TypeError, arizonareport.get_verbosity, 4)
45       self.assertException(TypeError, arizonareport.get_verbosity, None)
46       self.assertException(TypeError, arizonareport.get_verbosity, "1")
47       arizonareport.set_verbosity(2)
48
49
50
51
52
53    #------------------------------------------------------------------
54    # console_size():
55    #------------------------------------------------------------------
56    def test_console_size(self):
57       # test default behavior
58       self.assertEqual(arizonareport.console_size(), (24, 80))
59
60
61
62
63    
64    #------------------------------------------------------------------
65    # redirect_stdout(stream) -> None
66    #------------------------------------------------------------------
67    def test_redirect_stdout(self):
68       #Collin: no check for TypeError
69       #self.assertException(TypeError, arizonareport.redirect_stdout, -1)
70       #self.assertException(TypeError, arizonareport.redirect_stdout, None)
71       f = file("/tmp/redirect_test", "w")
72       arizonareport.redirect_stdout(f)
73       print "test"
74       self.assertStdout("") 
75       f.close()
76       f = file("/tmp/redirect_test")
77       self.assertEqual(f.read(), "test\n")
78       f.close()
79       os.remove("/tmp/redirect_test")
80
81
82
83
84
85    #------------------------------------------------------------------
86    # restore_stdout(stream) -> None
87    #------------------------------------------------------------------
88    def test_restore_stdout(self):
89       f = file("/tmp/redirect_test", "w")
90       arizonareport.redirect_stdout(f)
91       print "test"
92       f.close()
93       arizonareport.restore_stdout()
94       print "test2"
95       self.assertStdout("test2\n") 
96       os.remove("/tmp/redirect_test")
97
98
99
100
101
102    #------------------------------------------------------------------
103    # redirect_stderr(stream) -> None
104    #------------------------------------------------------------------
105    def test_redirect_stderr(self):
106       #Collin: There is no check for TypeError
107       #self.assertException(TypeError, arizonareport.redirect_stderr, -1)
108       #self.assertException(TypeError, arizonareport.redirect_stderr, None)
109       f = file("/tmp/redirect_test", "w")
110       arizonareport.redirect_stderr(f)
111       print >> sys.stderr, "test"
112       self.assertStderr("") 
113       f.close()
114       f = file("/tmp/redirect_test")
115       self.assertEqual(f.read(), "test\n")
116       f.close()
117       os.remove("/tmp/redirect_test")
118
119
120
121
122
123    #------------------------------------------------------------------
124    # restore_stderr(stream) -> None
125    # TODO
126    #------------------------------------------------------------------
127    def test_restore_stderr(self):
128       #f = file("/tmp/redirect_test", "w")       
129       #arizonareport.redirect_stderr(f)
130       #f.close()
131       #arizonareport.restore_stderr()      
132       print >> sys.stderr, "test2"
133       #Fails for unknown reason, it doesn't seem
134       #to be restoring the stream to the original sys.stderr
135       self.assertStderr("test2\n") 
136       #os.remove("/tmp/redirect_test")
137
138
139
140
141
142    #------------------------------------------------------------------
143    # flush_out(required_verbosity)
144    #------------------------------------------------------------------
145    def test_flush_out(self):
146       self.assertException(TypeError, arizonareport.flush_out, -1)
147       #Isn't a type error:
148       #self.assertException(TypeError, arizonareport.flush_out, 4)
149       self.assertException(TypeError, arizonareport.flush_out, 5)
150       self.assertException(TypeError, arizonareport.flush_out, None)
151       self.assertException(TypeError, arizonareport.flush_out, "1")
152       # TODO need additional tests
153
154
155
156
157    #------------------------------------------------------------------
158    # flush_error(required_verbosity)
159    #------------------------------------------------------------------
160    def test_flush_error(self):
161       self.assertException(TypeError, arizonareport.flush_error, -1)
162       #This isn't a TypeError..
163       #self.assertException(TypeError, arizonareport.flush_error, 4)
164       self.assertException(TypeError, arizonareport.flush_error, 5)
165       self.assertException(TypeError, arizonareport.flush_error, None)
166       self.assertException(TypeError, arizonareport.flush_error, "1")
167       # TODO need additional tests
168
169
170
171
172
173    #------------------------------------------------------------------
174    # send_out(required_verbosity, mesg)
175    #------------------------------------------------------------------
176    def test_send_out(self):
177       self.assertException(TypeError, arizonareport.send_out, -1, "a")
178       self.assertException(TypeError, arizonareport.send_out, 5, "a")
179       self.assertException(TypeError, arizonareport.send_out, None, "a")
180       self.assertException(TypeError, arizonareport.send_out, "1", "a")
181
182       self.reset_stdout()
183       self.reset_stderr()
184       arizonareport.set_verbosity(0)
185       arizonareport.send_out(0, "test")
186       self.assertStderr("") 
187       self.assertStdout("test\n") 
188       self.reset_stdout()
189       arizonareport.send_out(1, "test")
190       self.assertStdout("") 
191       arizonareport.send_out(2, "test")
192       self.assertStdout("") 
193       arizonareport.send_out(3, "test")
194       self.assertStdout("") 
195
196       arizonareport.set_verbosity(1)
197       arizonareport.send_out(0, "test")
198       self.assertStdout("test\n") 
199       self.reset_stdout()
200       arizonareport.send_out(1, "test")
201       self.assertStdout("test\n") 
202       self.reset_stdout()
203       arizonareport.send_out(2, "test")
204       self.assertStdout("") 
205       arizonareport.send_out(3, "test")
206       self.assertStdout("") 
207
208       arizonareport.set_verbosity(2)
209       arizonareport.send_out(0, "test")
210       self.assertStdout("test\n") 
211       self.reset_stdout()
212       arizonareport.send_out(1, "test")
213       self.assertStdout("test\n") 
214       self.reset_stdout()
215       arizonareport.send_out(2, "test")
216       self.assertStdout("test\n") 
217       self.reset_stdout()
218       arizonareport.send_out(3, "test")
219       self.assertStdout("") 
220
221       arizonareport.set_verbosity(3)
222       arizonareport.send_out(0, "test")
223       self.assertStdout("test\n") 
224       self.reset_stdout()
225       arizonareport.send_out(1, "test")
226       self.assertStdout("test\n") 
227       self.reset_stdout()
228       arizonareport.send_out(2, "test")
229       self.assertStdout("test\n") 
230       self.reset_stdout()
231       arizonareport.send_out(3, "test")
232       self.assertStdout("test\n") 
233
234
235
236
237
238
239    #------------------------------------------------------------------
240    # send_out_comma(required_verbosity, mesg)
241    #------------------------------------------------------------------
242    def test_send_out_comma(self):
243       self.assertException(TypeError, arizonareport.send_out_comma, -1, "a")
244       self.assertException(TypeError, arizonareport.send_out_comma, 5, "a")
245       self.assertException(TypeError, arizonareport.send_out_comma, None, "a")
246       self.assertException(TypeError, arizonareport.send_out_comma, "1", "a")
247
248       self.reset_stdout()
249       self.reset_stderr()
250       arizonareport.set_verbosity(0)
251       arizonareport.send_out_comma(0, "test")
252       self.assertStderr("") 
253       self.assertStdout("test") 
254       self.reset_stdout()
255       arizonareport.send_out_comma(1, "test")
256       self.assertStdout("") 
257       arizonareport.send_out_comma(2, "test")
258       self.assertStdout("") 
259       arizonareport.send_out_comma(3, "test")
260       self.assertStdout("") 
261
262       arizonareport.set_verbosity(1)
263       arizonareport.send_out_comma(0, "test")
264       self.assertStdout("test") 
265       self.reset_stdout()
266       arizonareport.send_out_comma(1, "test")
267       self.assertStdout("test") 
268       self.reset_stdout()
269       arizonareport.send_out_comma(2, "test")
270       self.assertStdout("") 
271       arizonareport.send_out_comma(3, "test")
272       self.assertStdout("") 
273
274       arizonareport.set_verbosity(2)
275       arizonareport.send_out_comma(0, "test")
276       self.assertStdout("test") 
277       self.reset_stdout()
278       arizonareport.send_out_comma(1, "test")
279       self.assertStdout("test") 
280       self.reset_stdout()
281       arizonareport.send_out_comma(2, "test")
282       self.assertStdout("test") 
283       self.reset_stdout()
284       arizonareport.send_out_comma(3, "test")
285       self.assertStdout("") 
286
287       arizonareport.set_verbosity(3)
288       arizonareport.send_out_comma(0, "test")
289       self.assertStdout("test") 
290       self.reset_stdout()
291       arizonareport.send_out_comma(1, "test")
292       self.assertStdout("test") 
293       self.reset_stdout()
294       arizonareport.send_out_comma(2, "test")
295       self.assertStdout("test") 
296       self.reset_stdout()
297       arizonareport.send_out_comma(3, "test")
298       self.assertStdout("test") 
299
300
301
302
303
304    #------------------------------------------------------------------
305    # send_error(required_verbosity, mesg)
306    #------------------------------------------------------------------
307    def test_send_err(self):
308       self.assertException(TypeError, arizonareport.send_error, -1, "a")
309       self.assertException(TypeError, arizonareport.send_error, 5, "a")
310       self.assertException(TypeError, arizonareport.send_error, None, "a")
311       self.assertException(TypeError, arizonareport.send_error, "1", "a")
312
313       self.reset_stderr()
314       self.reset_stdout()
315       arizonareport.set_verbosity(0)
316       arizonareport.send_error(0, "test")
317       self.assertStdout("") 
318       self.assertTrue(self.stderr().endswith("test\n"))   
319       self.reset_stderr()
320       arizonareport.send_error(1, "test")
321       self.assertStderr("") 
322       arizonareport.send_error(2, "test")
323       self.assertStderr("") 
324       arizonareport.send_error(3, "test")
325       self.assertStderr("") 
326
327       arizonareport.set_verbosity(1)
328       arizonareport.send_error(0, "test")
329       self.assertTrue(self.stderr().endswith("test\n"))   
330       self.reset_stderr()
331       arizonareport.send_error(1, "test")
332       self.assertTrue(self.stderr().endswith("test\n"))   
333       self.reset_stderr()
334       arizonareport.send_error(2, "test")
335       self.assertStderr("") 
336       arizonareport.send_error(3, "test")
337       self.assertStderr("") 
338
339       arizonareport.set_verbosity(2)
340       arizonareport.send_error(0, "test")
341       self.assertTrue(self.stderr().endswith("test\n"))   
342       self.reset_stderr()
343       arizonareport.send_error(1, "test")
344       self.assertTrue(self.stderr().endswith("test\n"))   
345       self.reset_stderr()
346       arizonareport.send_error(2, "test")
347       self.assertTrue(self.stderr().endswith("test\n"))   
348       self.reset_stderr()
349       arizonareport.send_error(3, "test")
350       self.assertStderr("") 
351
352       arizonareport.set_verbosity(3)
353       arizonareport.send_error(0, "test")
354       self.assertTrue(self.stderr().endswith("test\n"))   
355       self.reset_stderr()
356       arizonareport.send_error(1, "test")
357       self.assertTrue(self.stderr().endswith("test\n"))   
358       self.reset_stderr()
359       arizonareport.send_error(2, "test")
360       self.assertTrue(self.stderr().endswith("test\n"))   
361       self.reset_stderr()
362       arizonareport.send_error(3, "test")
363       self.assertTrue(self.stderr().endswith("test\n"))   
364
365
366
367
368
369    #------------------------------------------------------------------
370    # send_syslog(severity, mesg)
371    #------------------------------------------------------------------
372    def test_send_syslog(self):
373       #arizonareport.send_syslog(arizonareport.ERR, "test")
374       pass
375
376
377
378
379
380 # Run tests
381 if __name__=='__main__':
382    arizonaunittest.main()