def test_add_job(self): """ Test the method addJob, adding a simple Job which increase the input value by one. """ jm = JobManager() job = Job(increase, (1,)) job.user = 1 jm.addJob(job) self.assertEqual(1, len(jm.getJobs('QUEUED', 1)))
def test_add_job(self): """ Test the method addJob, adding a simple Job which increase the input value by one. The job is not executed but only added to the execution queue. """ jm = JobManager() job = Job(increase, (1,)) job.user = 1 jm.addJob(job) self.assertEqual(1, len(jm.getJobs('QUEUED', 1)))
def test_failed_job(self): """ Test used to check if the job manager detect and handle correctely an exeception during job execution. """ jm = JobManager() job1 = Job(increase, (2,)) job1.user = 1 job2 = Job(bad_division, (2,)) job2.user = 1 jm.addJob(job1) jm.addJob(job2) jm.start() sleep(2) jm.stop() if(len(jm.getJobs('FAILED', 1)) != 1 or len(jm.getJobs('COMPLETED', 1)) != 1): self.assertTrue(False)
def test_user(self): """ Test used to retrieve all jobs of a given user. """ jm = JobManager() jm.start() job1 = Job(increase, (2,)) job1.user = 1 jm.addJob(job1) sleep(2) self.assertEqual(1, len(jm.getJobs('COMPLETED', 1))) jm.stop()
def test_user2(self): """ Test used to retrieve all jobs of a user on many. """ jm = JobManager() jm.start() for i in range(3): job = Job(increase, (2+i,)) job.user = i jm.addJob(job) sleep(2) self.assertEqual(1, len(jm.getJobs('COMPLETED', 1))) jm.stop()
def test_job_execution3(self): """ Test used to check if the job manager detect and handle correctely an exception during job execution. """ jm = JobManager() jm.start() job = Job(bad_division, (2,)) job.user = 1 jm.addJob(job) sleep(2) self.assertEqual(1, len(jm.getJobs('FAILED', 1))) jm.stop()
def test_user_clean(self): """ Test used to clean all completed jobs of a specific user. """ jm = JobManager() jm.start() for i in range(3): job = Job(increase, (2+i,)) job.user = 1 jm.addJob(job) sleep(6) jm.cleanJobs(1) self.assertEqual(0, len(jm.getJobs('COMPLETED', 1))) jm.stop()
def test_job_get_all(self): """ Test used to check if the Job Manager is ablke to retrieve the correct Job object by its id. """ jm = JobManager() jm.start() for i in range(5): job = Job(increase, (2,)) job.user = 1 jm.addJob(job) sleep(5) self.assertEqual(5, len(jm.getJobs('COMPLETED', 1))) jm.stop()
def test_user3(self): """ Test used to retrieve one job on many user's jobs. """ jm = JobManager() jm.start() for i in range(30): job = Job(increase, (2+i,)) job.user = 1 jm.addJob(job) job = Job(increase, (2,)) job.user = 2 jm.addJob(job) sleep(10) self.assertEqual(1, len(jm.getJobs('COMPLETED', 2))) jm.stop()