def testTrack(self): mp = MockPlugin(config) #Check that the job has been scheduled self.assertEquals({}, mp.jobsScheduledEnd) # Don't be racy currentTime = datetime.now() #id is the only required parameter in the job dictionary res = mp.track( jobList, currentTime ) self.assertTrue( 1 in mp.jobsScheduledEnd ) #check scheduled end (N.B. this includes 20% of random time) scheduledEnd = mp.jobsScheduledEnd[1] timeTillJob = scheduledEnd - currentTime self.assertTrue( timeTillJob >= timedelta(minutes = TEST_JOB_LEN - 1), \ "Time till Job %s !>= Delta %s" % (timeTillJob, \ timedelta(minutes = TEST_JOB_LEN - 1))) self.assertTrue( timeTillJob <= timedelta(minutes = TEST_JOB_LEN*120/100 + 1), \ "Time till Job %s !<= Delta %s" % (timeTillJob, \ timedelta(minutes = TEST_JOB_LEN * 120/100 + 1)) ) #the job is running self.assertEquals( 'Running', res[0][0]['status']) self.assertEquals( 'Running', res[1][0]['status']) self.assertEquals( [], res[2]) #the job is not running anymore mp.jobsScheduledEnd[1] = datetime(1900,1,1) res = mp.track( jobList ) self.assertEquals( [], res[0]) self.assertEquals( 'Done', res[1][0]['status']) self.assertEquals( 'Done', res[2][0]['status']) del mp
def testTrack(self): mp = MockPlugin(config) #Check that the job has been scheduled self.assertEquals({}, mp.jobsScheduledEnd) # Don't be racy currentTime = datetime.now() #id is the only required parameter in the job dictionary res = mp.track( jobList, currentTime ) self.assertTrue( mp.jobsScheduledEnd.has_key(1L) ) #check scheduled end (N.B. this includes 20% of random time) scheduledEnd = mp.jobsScheduledEnd[1L] timeTillJob = scheduledEnd - currentTime self.assertTrue( timeTillJob >= timedelta(minutes = TEST_JOB_LEN - 1), \ "Time till Job %s !>= Delta %s" % (timeTillJob, \ timedelta(minutes = TEST_JOB_LEN - 1))) self.assertTrue( timeTillJob <= timedelta(minutes = TEST_JOB_LEN*120/100 + 1), \ "Time till Job %s !<= Delta %s" % (timeTillJob, \ timedelta(minutes = TEST_JOB_LEN * 120/100 + 1)) ) #the job is running self.assertEquals( 'Running', res[0][0]['status']) self.assertEquals( 'Running', res[1][0]['status']) self.assertEquals( [], res[2]) #the job is not running anymore mp.jobsScheduledEnd[1L] = datetime(1900,1,1) res = mp.track( jobList ) self.assertEquals( [], res[0]) self.assertEquals( 'Done', res[1][0]['status']) self.assertEquals( 'Done', res[2][0]['status']) del mp
def testTrack(self): mp = MockPlugin(config) # Check that the job has been scheduled self.assertEquals({}, mp.jobsScheduledEnd) # id is the only required parameter in the job dictionary res = mp.track(jobList) self.assertTrue(mp.jobsScheduledEnd.has_key(1L)) # check scheduled end (N.B. this includes 20% of random time) scheduledEnd = mp.jobsScheduledEnd[1L] self.assertTrue((scheduledEnd - datetime.now()) > timedelta(minutes=TEST_JOB_LEN)) self.assertTrue((scheduledEnd - datetime.now()) < timedelta(minutes=TEST_JOB_LEN * 120 / 100)) # the job is running self.assertEquals("Running", res[0][0]["status"]) self.assertEquals("Running", res[1][0]["status"]) self.assertEquals([], res[2]) # the job is not running anymore mp.jobsScheduledEnd[1L] = datetime(1900, 1, 1) res = mp.track(jobList) self.assertEquals([], res[0]) self.assertEquals("Done", res[1][0]["status"]) self.assertEquals("Done", res[2][0]["status"])