def test_job_detail(self): interface.run_job(self.credential2, '', 'sleep 10') results = interface.get_all_jobs(self.user, self.cluster.name) jobid = results[0]["jobs"][0][0] url = reverse(views.job_detail, args=(self.cluster.name, jobid)) response = self.client.get(url) self.assertEqual(response.status_code, 302) r = self.client.login(**USER_LOGIN) self.assertTrue(r) response = self.client.get(url) self.assertEqual(response.status_code, 200)
def test_kill_jobs_run_through_no_job(self): results = interface.run_job(self.credential2, '', jobstring='sleep 10') jobid = results["jobid"] models.Job.objects.filter( credential=self.credential2, jobid=jobid).delete() results = interface.kill_jobs(self.credential2, [jobid]) self.assertEqual(results["error"], None)
def test_run_job_folder_error(self): with self.credential2.get_ssh_connection() as ssh: ssh.exec_command( "sudo chown root:root chemtools; sudo chmod 700 chemtools") results = interface.run_job( self.credential2, '', jobstring='sleep 0') ssh.exec_command( "sudo chown vagrant:vagrant chemtools; chmod 775 chemtools") self.assertIn('mkdir: cannot create directory', results["error"])
def test_run_job_states(self): results = interface.run_job(self.credential2, '', jobstring='sleep 10') jobid = results["jobid"] self.assertEqual(results["error"], None) job = models.Job.objects.get(jobid=jobid) self.assertEqual(job.state, models.Job.QUEUED) call_command("update_jobs") job = models.Job.objects.get(jobid=jobid) self.assertEqual(job.state, models.Job.RUNNING) time.sleep(10) call_command("update_jobs") job = models.Job.objects.get(jobid=jobid) self.assertEqual(job.state, models.Job.COMPLETED)
def test_run_job_invalid_credential(self): results = interface.run_job(None, '', jobstring=None) self.assertEqual(results["error"], CRED_ERROR)
def run_fake_job(credential, length=0): gjfstring = "EMPTY" jobstring = "sleep %d" % length results = interface.run_job(credential, gjfstring, jobstring) return results
def test_run_job_staff_error(self): results = interface.run_job(self.credential, '', jobstring=None) self.assertEqual(results["error"], SUBMIT_ERROR)
def test_kill_jobs_run_through(self): results = interface.run_job(self.credential2, '', jobstring='sleep 10') jobid = results["jobid"] results = interface.kill_jobs(self.credential2, [jobid]) self.assertEqual(results["error"], None)
def run_fake_job(credential): gjfstring = "EMPTY" jobstring = "sleep 0" results = interface.run_job(credential, gjfstring, jobstring) return results["jobid"]
def test_run_job(self): results = interface.run_job(self.credential2, '', jobstring='sleep 0') self.assertEqual(results["error"], None)