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)
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)
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)
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)
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)
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)