Beispiel #1
0
    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)
Beispiel #2
0
 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)
Beispiel #3
0
 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"])
Beispiel #4
0
 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)
Beispiel #5
0
 def test_run_job_invalid_credential(self):
     results = interface.run_job(None, '', jobstring=None)
     self.assertEqual(results["error"], CRED_ERROR)
Beispiel #6
0
def run_fake_job(credential, length=0):
    gjfstring = "EMPTY"
    jobstring = "sleep %d" % length
    results = interface.run_job(credential, gjfstring, jobstring)
    return results
Beispiel #7
0
 def test_run_job_staff_error(self):
     results = interface.run_job(self.credential, '', jobstring=None)
     self.assertEqual(results["error"], SUBMIT_ERROR)
Beispiel #8
0
 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)
Beispiel #9
0
def run_fake_job(credential):
    gjfstring = "EMPTY"
    jobstring = "sleep 0"
    results = interface.run_job(credential, gjfstring, jobstring)
    return results["jobid"]
Beispiel #10
0
 def test_run_job(self):
     results = interface.run_job(self.credential2, '', jobstring='sleep 0')
     self.assertEqual(results["error"], None)
Beispiel #11
0
 def test_run_job_invalid_credential(self):
     results = interface.run_job(None, '', jobstring=None)
     self.assertEqual(results["error"], CRED_ERROR)
Beispiel #12
0
 def test_run_job_staff_error(self):
     results = interface.run_job(self.credential, '', jobstring=None)
     self.assertEqual(results["error"], SUBMIT_ERROR)
Beispiel #13
0
def run_fake_job(credential, length=0):
    gjfstring = "EMPTY"
    jobstring = "sleep %d" % length
    results = interface.run_job(credential, gjfstring, jobstring)
    return results