def assert_config_error(self, config, errmsg): sm = ScheduleManager(config) with LogCatcher() as logger: self.assertEqual(None, sm.get_next(None)) [err] = logger.errors self.assertEqual(err['why'], 'Error processing schedule.') self.assertEqual(err['failure'].value.args[0], errmsg) [f] = self.flushLoggedErrors(ValueError) self.assertEqual(f, err['failure'])
def assert_schedule_next(self, config, since_dt, expected_next_dt): sm = ScheduleManager(config) self.assertEqual(sm.get_next(since_dt), expected_next_dt)
def process_conversation_schedule(self, then, now, conv): schedule = self.get_config_for_conversation(conv).schedule if ScheduleManager(schedule).is_scheduled(then, now): yield self.send_scheduled_messages(conv)