[Erp5-report] r20288 - in /erp5/trunk/products/ERP5: Document/Alarm.py tests/testAlarm.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Apr 3 11:30:05 CEST 2008
Author: seb
Date: Thu Apr 3 11:30:04 2008
New Revision: 20288
URL: http://svn.erp5.org?rev=20288&view=rev
Log:
- Do not make tic on activity tool failing when the periodicity
start date is not working.
- Add a test to show that tic is working on alarm tool even if
a periodicity start date is not defined on a particular alarm
Modified:
erp5/trunk/products/ERP5/Document/Alarm.py
erp5/trunk/products/ERP5/tests/testAlarm.py
Modified: erp5/trunk/products/ERP5/Document/Alarm.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Alarm.py?rev=20288&r1=20287&r2=20288&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Alarm.py (original)
+++ erp5/trunk/products/ERP5/Document/Alarm.py Thu Apr 3 11:30:04 2008
@@ -510,17 +510,16 @@
"""
returns something like ['Sunday','Monday',...]
"""
- #alarm_date = self._baseGetAlarmDate()
- #if alarm_date is None:
- # alarm_date = self.getPeriodicityStartDate()
alarm_date=None
- result_list = self.Alarm_zGetAlarmDate(uid=self.getUid())
- if len(result_list)==1:
- alarm_date = result_list[0].alarm_date
- periodicity_start_date = self.getPeriodicityStartDate()
- if alarm_date < periodicity_start_date:
- alarm_date = periodicity_start_date
- # convert the date to the user provided timezone
- alarm_zone = periodicity_start_date.timezone()
- alarm_date = alarm_date.toZone(alarm_zone)
+ # No periodicity start date, return None
+ if self.getPeriodicityStartDate() is not None:
+ result_list = self.Alarm_zGetAlarmDate(uid=self.getUid())
+ if len(result_list)==1:
+ alarm_date = result_list[0].alarm_date
+ periodicity_start_date = self.getPeriodicityStartDate()
+ if alarm_date < periodicity_start_date:
+ alarm_date = periodicity_start_date
+ # convert the date to the user provided timezone
+ alarm_zone = periodicity_start_date.timezone()
+ alarm_date = alarm_date.toZone(alarm_zone)
return alarm_date
Modified: erp5/trunk/products/ERP5/tests/testAlarm.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testAlarm.py?rev=20288&r1=20287&r2=20288&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testAlarm.py (original)
+++ erp5/trunk/products/ERP5/tests/testAlarm.py Thu Apr 3 11:30:04 2008
@@ -444,7 +444,7 @@
def test_16_uncatalog(self, quiet=0, run=run_all_test):
"""
- Check that deleting a alarm uncatalogs it.
+ Check that deleting an alarm uncatalogs it.
"""
if not run: return
if not quiet:
@@ -480,6 +480,47 @@
result = sql_connection.manage_test(sql)
self.assertEquals(0, len(result))
+ def test_17_tic(self, quiet=0, run=run_all_test):
+ """
+ Make sure that the tic method on alarm is working
+ """
+ if not run: return
+ if not quiet:
+ message = 'Test AlarmTool Tic'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ', 0, message)
+ alarm = self.newAlarm()
+ alarm.setEnabled(True)
+ get_transaction().commit()
+ self.tic()
+
+ get_transaction().commit()
+ self.tic()
+ sense_method_id = 'Alarm_testSenseMethodForTic'
+ skin_folder_id = 'custom'
+ skin_folder = self.getPortal().portal_skins[skin_folder_id]
+ skin_folder.manage_addProduct['PythonScripts']\
+ .manage_addPythonScript(id=sense_method_id)
+ # Make the sense method fail
+ skin_folder[sense_method_id].ZPythonScript_edit('*args,**kw',
+ 'context.setDescription("a")')
+ del skin_folder
+ alarm.setActiveSenseMethodId(sense_method_id)
+ get_transaction().commit()
+ self.tic()
+ alarm_tool = self.getPortal().portal_alarms
+ # Nothing should happens yet
+ alarm_tool.tic()
+ self.assertTrue(alarm.getDescription() in (None, ''))
+ now = DateTime()
+ date = addToDate(now, day=1)
+ alarm.setPeriodicityStartDate(date)
+ alarm.setPeriodicityMinuteFrequency(1)
+ get_transaction().commit()
+ self.tic()
+ alarm_tool.tic()
+ self.assertEquals(alarm.getDescription(), 'a')
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAlarm))
More information about the Erp5-report
mailing list