Ejemplo n.º 1
0
    def test_check_rule_last_event(self, mock_check_schedule,
                                   mock_trigger_event):
        '''Tests a valid rule checks the most recent matching event type.'''
        rule = job_test_utils.create_clock_rule(name='test-name',
                                                schedule='PT1H0M0S')
        job_test_utils.create_clock_event(rule=rule,
                                          occurred=datetime.datetime(
                                              2013, 1, 1, tzinfo=timezone.utc))
        job_test_utils.create_clock_event(rule=rule,
                                          occurred=datetime.datetime(
                                              2012, 1, 1, tzinfo=timezone.utc))
        last = job_test_utils.create_clock_event(rule=rule,
                                                 occurred=datetime.datetime(
                                                     2014,
                                                     1,
                                                     1,
                                                     tzinfo=timezone.utc))
        job_test_utils.create_clock_event(rule=rule,
                                          occurred=datetime.datetime(
                                              2011, 1, 1, tzinfo=timezone.utc))
        job_test_utils.create_clock_event(
            occurred=datetime.datetime(2015, 1, 1, tzinfo=timezone.utc))

        clock._check_rule(rule)

        mock_check_schedule.assert_called_with(datetime.timedelta(hours=1),
                                               last)
Ejemplo n.º 2
0
    def test_check_rule_skip(self, mock_check_schedule, mock_trigger_event):
        """Tests a valid rule does not trigger a new event when the schedule threshold has not been met."""
        mock_check_schedule.return_value = False

        rule = job_test_utils.create_clock_rule(name='test-name')

        clock._check_rule(rule)

        self.assertTrue(mock_check_schedule.called)
        self.assertFalse(mock_trigger_event.called)
Ejemplo n.º 3
0
    def test_check_rule(self, mock_check_schedule, mock_trigger_event):
        """Tests a valid rule triggers a new event."""
        mock_check_schedule.return_value = True

        rule = job_test_utils.create_clock_rule(name='test-name', schedule='PT1H0M0S')

        clock._check_rule(rule)

        mock_check_schedule.assert_called_with(datetime.timedelta(hours=1), None)
        self.assertTrue(mock_trigger_event.called)
Ejemplo n.º 4
0
    def test_check_rule_skip(self, mock_check_schedule, mock_trigger_event):
        '''Tests a valid rule does not trigger a new event when the schedule threshold has not been met.'''
        mock_check_schedule.return_value = False

        rule = job_test_utils.create_clock_rule(name=u'test-name')

        clock._check_rule(rule)

        self.assertTrue(mock_check_schedule.called)
        self.assertFalse(mock_trigger_event.called)
Ejemplo n.º 5
0
    def test_check_rule(self, mock_check_schedule, mock_trigger_event):
        '''Tests a valid rule triggers a new event.'''
        mock_check_schedule.return_value = True

        rule = job_test_utils.create_clock_rule(name=u'test-name', schedule=u'PT1H0M0S')

        clock._check_rule(rule)

        mock_check_schedule.assert_called_with(datetime.timedelta(hours=1), None)
        self.assertTrue(mock_trigger_event.called)
Ejemplo n.º 6
0
    def test_check_rule_last_event(self, mock_check_schedule, mock_trigger_event):
        '''Tests a valid rule checks the most recent matching event type.'''
        rule = job_test_utils.create_clock_rule(name=u'test-name', schedule=u'PT1H0M0S')
        job_test_utils.create_clock_event(rule=rule, occurred=datetime.datetime(2013, 1, 1, tzinfo=timezone.utc))
        job_test_utils.create_clock_event(rule=rule, occurred=datetime.datetime(2012, 1, 1, tzinfo=timezone.utc))
        last = job_test_utils.create_clock_event(rule=rule, occurred=datetime.datetime(2014, 1, 1, tzinfo=timezone.utc))
        job_test_utils.create_clock_event(rule=rule, occurred=datetime.datetime(2011, 1, 1, tzinfo=timezone.utc))
        job_test_utils.create_clock_event(occurred=datetime.datetime(2015, 1, 1, tzinfo=timezone.utc))

        clock._check_rule(rule)

        mock_check_schedule.assert_called_with(datetime.timedelta(hours=1), last)