def test_create_task_quarterly(self): Sched.gen_sched_settings_file( 'foo.json', name='_foo', run_cmd='python _foo.py', schedule='quarterly') s = Sched('foo.json') now = datetime.now() s.schedule_task() task = s.details() self.assertTrue(task) self.assertTrue(s.is_scheduled()) self.assertEqual(task.task_name, '\\_foo') self.assertEqual(task.schedule_type, 'Daily ') self.assertEqual(task.repeat_every, 'Disabled') self.assertEqual(task.days, 'Every 92 day(s)') self.assertEqual( datetime.strptime(task.start_time, "%I:%M:%S %p").time(), now.replace(second=0, microsecond=0).time()) self.assertEqual( datetime.strptime(task.start_date, '%m/%d/%Y').date(), datetime.now().date()) self.assertEqual( datetime.strptime(task.next_run_time, "%m/%d/%Y %I:%M:%S %p"), datetime.now().replace(second=0, microsecond=0) + timedelta(days=92)) s.deschedule_task() self.assertFalse(s.details()) self.assertFalse(s.is_scheduled())
def test_create_task_2_minutes(self): next_minute = datetime.now() + timedelta(minutes=1) Sched.gen_sched_settings_file( 'foo.json', name='_foo', run_cmd='python _foo.py', working_dir='.', start_min=True, start_time=next_minute.strftime("%H:%M"), schedule='minute', modifier=2) s = Sched('foo.json', 'batcave') shutil.copy('_foo.py', 'batcave\\_foo.py') s.schedule_task() task = s.details() self.assertTrue(task) self.assertTrue(s.is_scheduled()) self.assertEqual(task.task_name, '\\_foo') self.assertEqual(task.schedule_type, 'One Time Only, Minute ') self.assertEqual(task.repeat_every, '0 Hour(s), 2 Minute(s)') self.assertEqual( datetime.strptime(task.start_time, "%I:%M:%S %p").time(), next_minute.replace(second=0, microsecond=0).time()) self.assertEqual( datetime.strptime(task.start_date, '%m/%d/%Y').date(), next_minute.date()) s.deschedule_task() self.assertFalse(s.details()) self.assertFalse(s.is_scheduled())