comparison test/test_actions.py @ 2060:d6bcdae0b085

test fix
author Richard Jones <richard@users.sourceforge.net>
date Sun, 29 Feb 2004 00:41:51 +0000
parents 5a7ec0c63095
children 71efaf27eddc
comparison
equal deleted inserted replaced
2059:48600089c73d 2060:d6bcdae0b085
4 from cgi import FieldStorage, MiniFieldStorage 4 from cgi import FieldStorage, MiniFieldStorage
5 5
6 from roundup import hyperdb 6 from roundup import hyperdb
7 from roundup.date import Date, Interval 7 from roundup.date import Date, Interval
8 from roundup.cgi.actions import * 8 from roundup.cgi.actions import *
9 from roundup.cgi.exceptions import Redirect, Unauthorised 9 from roundup.cgi.exceptions import Redirect, Unauthorised, SeriousError
10 10
11 class MockNull: 11 class MockNull:
12 def __init__(self, **kwargs): 12 def __init__(self, **kwargs):
13 for key, value in kwargs.items(): 13 for key, value in kwargs.items():
14 setattr(self, key, value) 14 setattr(self, key, value)
36 self.form = FieldStorage() 36 self.form = FieldStorage()
37 self.client = MockNull() 37 self.client = MockNull()
38 self.client.form = self.form 38 self.client.form = self.form
39 39
40 class ShowActionTestCase(ActionTestCase): 40 class ShowActionTestCase(ActionTestCase):
41 def assertRaisesMessage(self, exception, callable, message, *args, **kwargs): 41 _nocheck = "don't compare exception values (the exception is enough)"
42 def assertRaisesMessage(self, exception, callable, message, *args,
43 **kwargs):
42 try: 44 try:
43 callable(*args, **kwargs) 45 callable(*args, **kwargs)
44 except exception, msg: 46 except exception, msg:
47 if message is self._nocheck:
48 return
45 self.assertEqual(str(msg), message) 49 self.assertEqual(str(msg), message)
46 else: 50 else:
47 if hasattr(excClass,'__name__'): excName = excClass.__name__ 51 if hasattr(excClass,'__name__'):
48 else: excName = str(excClass) 52 excName = excClass.__name__
53 else:
54 excName = str(excClass)
49 raise self.failureException, excName 55 raise self.failureException, excName
50 56
51 def testShowAction(self): 57 def testShowAction(self):
52 self.client.db.config.TRACKER_WEB = 'BASE/' 58 self.client.db.config.TRACKER_WEB = 'BASE/'
53 59
54 action = ShowAction(self.client) 60 action = ShowAction(self.client)
55 self.assertRaises(ValueError, action.handle) 61 self.assertRaises(ValueError, action.handle)
56 62
57 self.form.value.append(MiniFieldStorage('@type', 'issue')) 63 self.form.value.append(MiniFieldStorage('@type', 'issue'))
58 self.assertRaisesMessage(Redirect, action.handle, 'BASE/issue') 64 self.assertRaisesMessage(SeriousError, action.handle, self._nocheck)
59 65
60 self.form.value.append(MiniFieldStorage('@number', '1')) 66 self.form.value.append(MiniFieldStorage('@number', '1'))
61 self.assertRaisesMessage(Redirect, action.handle, 'BASE/issue1') 67 self.assertRaisesMessage(Redirect, action.handle, 'BASE/issue1')
68
69 def testShowActionNoType(self):
70 action = ShowAction(self.client)
71 self.assertRaises(ValueError, action.handle)
72 self.form.value.append(MiniFieldStorage('@number', '1'))
73 self.assertRaisesMessage(ValueError, action.handle,
74 'No type specified')
62 75
63 class RetireActionTestCase(ActionTestCase): 76 class RetireActionTestCase(ActionTestCase):
64 def testRetireAction(self): 77 def testRetireAction(self):
65 self.client.db.security.hasPermission = true 78 self.client.db.security.hasPermission = true
66 self.client.ok_message = [] 79 self.client.ok_message = []

Roundup Issue Tracker: http://roundup-tracker.org/