def invoke_notification(obj, event): """Event handler for `IQueueExecutedEvent` which invokes the `IReportNotifier` adapter. """ config = IMonitorConfigurationSchema(obj) if not config.enabled or not len(config.get_receivers()): return monitor_queue_length(obj, event.queue, config) monitor_failed_extractions(obj, event.queue, config)
def invoke_notification(obj, event): """Event handler for `IQueueExecutedEvent` which invokes the `IReportNotifier` adapter. """ config = IMonitorConfigurationSchema(obj) if not config.enabled or not len(config.get_receivers()): return amount_of_jobs = event.queue.countJobs() if amount_of_jobs >= config.threshold: return getAdapter(obj, IMonitorNotifier)(config, event.queue)
def test_default_configuration(self): self.browser.open(self.config_url) config = IMonitorConfigurationSchema(self.portal) self.assertFalse(config.enabled) self.assertFalse(self.browser.getControl(name='form.enabled').value) self.assertEqual(config.get_receivers(), []) self.assertEqual( self.browser.getControl(name='form.receivers').value, '') self.assertEqual(config.get_threshold(), 100) self.assertEqual( self.browser.getControl(name='form.threshold').value, '100')
def test_change_configuration(self): self.browser.open(self.config_url) self.browser.getControl(name='form.enabled').value = True self.browser.getControl(name='form.receivers').value = '\n'.join(( '*****@*****.**', '*****@*****.**')) self.browser.getControl(name='form.threshold').value = '75' self.browser.getControl('Save').click() self.assertEqual(self.browser.url, self.config_url) self.assertIn('Updated on', self.browser.contents) config = IMonitorConfigurationSchema(self.portal) self.assertTrue(config.enabled) self.assertEqual(config.get_receivers(), [ '*****@*****.**', '*****@*****.**']) self.assertEqual(config.threshold, 75)