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)
Example #2
0
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)
Example #3
0
    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')
Example #4
0
    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)