Mercurial > p > roundup > code
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 = [] |
