def test_soonest_no_now(self): s = CronTabSchedule('* * * * * foo\n* * * * * bar') now = datetime.now() if not now.second: time.sleep(1) now = datetime.now() nxt = s.soonest() self.assertEqual( nxt, now + timedelta(seconds=60 - now.second - now.microsecond / 1000000))
def test_soonest_backtrack_needed(self): s = CronTabSchedule('* * * * * foo') now = datetime(2015, 1, 1) nxt = s.soonest(now=now) self.assertEqual(now, nxt)
def test_soonest_with_seconds(self): s = CronTabSchedule('* * * * * foo') now = datetime(2015, 1, 1, 1, 1, 1, 1) nxt = s.soonest(now=now) self.assertEqual(nxt, datetime(2015, 1, 1, 1, 2))
def test_no_schedule(self): s = CronTabSchedule('') with self.assertRaises(CronTabScheduleException): s.soonest()