comparison test/test_actions.py @ 6325:1a15089c2e49 issue2550923_computed_property

Merge trunk into branch
author John Rouillard <rouilj@ieee.org>
date Sat, 06 Feb 2021 20:15:26 -0500
parents 68d83479747b
children f2c31f5ec50b
comparison
equal deleted inserted replaced
6319:20e77c3ce6f6 6325:1a15089c2e49
1 from __future__ import print_function 1 from __future__ import print_function
2 import unittest 2 import unittest, copy
3 from cgi import FieldStorage, MiniFieldStorage 3 from cgi import FieldStorage, MiniFieldStorage
4 4
5 from roundup import hyperdb 5 from roundup import hyperdb
6 from roundup.date import Date, Interval 6 from roundup.date import Date, Interval
7 from roundup.cgi.actions import * 7 from roundup.cgi.actions import *
27 self.client.db.Otk.getall = self.data_get 27 self.client.db.Otk.getall = self.data_get
28 self.client.db.Otk.set = self.data_set 28 self.client.db.Otk.set = self.data_set
29 self.client.db.config.WEB_LOGIN_ATTEMPTS_MIN = 20 29 self.client.db.config.WEB_LOGIN_ATTEMPTS_MIN = 20
30 self.client._ok_message = [] 30 self.client._ok_message = []
31 self.client._error_message = [] 31 self.client._error_message = []
32 self.client.add_error_message = lambda x : add_message( 32 self.client.add_error_message = lambda x, escape=True: add_message(
33 self.client._error_message, x) 33 self.client._error_message, x, escape=escape)
34 self.client.add_ok_message = lambda x : add_message( 34 self.client.add_ok_message = lambda x : add_message(
35 self.client._ok_message, x) 35 self.client._ok_message, x)
36 self.client.form = self.form 36 self.client.form = self.form
37 self.client.base = "http://whoami.com/path/" 37 self.client.base = "http://whoami.com/path/"
38 class TemplatingUtils: 38 class TemplatingUtils:
237 self.action = EditItemAction(self.client) 237 self.action = EditItemAction(self.client)
238 self.now = Date('.') 238 self.now = Date('.')
239 # round off for testing 239 # round off for testing
240 self.now.second = int(self.now.second) 240 self.now.second = int(self.now.second)
241 241
242 def testLastUserActivity(self): 242 def testLastUserActivityAt(self):
243 self.assertEqual(self.action.lastUserActivity(), None) 243 self.assertEqual(self.action.lastUserActivity(), None)
244 244
245 # test @ special variable form
245 self.client.form.value.append( 246 self.client.form.value.append(
246 MiniFieldStorage('@lastactivity', str(self.now))) 247 MiniFieldStorage('@lastactivity', str(self.now)))
248 self.assertEqual(self.action.lastUserActivity(), self.now)
249
250 def testLastUserActivityColon(self):
251 self.assertEqual(self.action.lastUserActivity(), None)
252
253 # test : special variable form
254 self.client.form.value.append(
255 MiniFieldStorage(':lastactivity', str(self.now)))
247 self.assertEqual(self.action.lastUserActivity(), self.now) 256 self.assertEqual(self.action.lastUserActivity(), self.now)
248 257
249 def testLastNodeActivity(self): 258 def testLastNodeActivity(self):
250 self.action.classname = 'issue' 259 self.action.classname = 'issue'
251 self.action.nodeid = '1' 260 self.action.nodeid = '1'
260 269
261 def testCollision(self): 270 def testCollision(self):
262 # fake up an actual change 271 # fake up an actual change
263 self.action.classname = 'test' 272 self.action.classname = 'test'
264 self.action.nodeid = '1' 273 self.action.nodeid = '1'
265 self.client.parsePropsFromForm = lambda: ({('test','1'):{1:1}}, []) 274 self.client.parsePropsFromForm = lambda: (
266 self.assertTrue(self.action.detectCollision(self.now, 275 {('test','1'):{"prop1":"1"}}, [])
267 self.now + Interval("1d"))) 276 props = self.action.detectCollision(self.now,
277 self.now + Interval("1d"))
278 self.assertTrue(props)
279 self.action.handleCollision(props)
280 self.assertEqual(self.client._error_message[0],
281 'Edit Error: someone else has edited this test '
282 '(prop1). View <a target="_blank" href="test1">their '
283 'changes</a> in a new window.')
268 self.assertFalse(self.action.detectCollision(self.now, 284 self.assertFalse(self.action.detectCollision(self.now,
269 self.now - Interval("1d"))) 285 self.now - Interval("1d")))
270 self.assertFalse(self.action.detectCollision(None, self.now)) 286 self.assertFalse(self.action.detectCollision(None, self.now))
271 287
272 class LoginTestCase(ActionTestCase): 288 class LoginTestCase(ActionTestCase):

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