Example #1
0
 def testFinalStatus(self):
   for status in constants.JOBS_FINALIZED:
     job = _FakeJob(2178711, status)
     checker = jqueue._JobChangesChecker(["status"], [status], None)
     # There won't be any changes in this status, hence it should signal
     # a change immediately
     self.assertEqual(checker(job), ([status], []))
Example #2
0
    def testStatusWithPrev(self):
        job = _FakeJob(12807, constants.JOB_STATUS_QUEUED)
        checker = jqueue._JobChangesChecker(["status"], [constants.JOB_STATUS_QUEUED], None)
        self.assert_(checker(job) is None)

        job.SetStatus(constants.JOB_STATUS_RUNNING)
        self.assertEqual(checker(job), ([constants.JOB_STATUS_RUNNING], []))
Example #3
0
  def testStatus(self):
    job = _FakeJob(9094, constants.JOB_STATUS_QUEUED)
    checker = jqueue._JobChangesChecker(["status"], None, None)
    self.assertEqual(checker(job), ([constants.JOB_STATUS_QUEUED], []))

    job.SetStatus(constants.JOB_STATUS_RUNNING)
    self.assertEqual(checker(job), ([constants.JOB_STATUS_RUNNING], []))

    job.SetStatus(constants.JOB_STATUS_SUCCESS)
    self.assertEqual(checker(job), ([constants.JOB_STATUS_SUCCESS], []))

    # job.id is used by checker
    self.assertEqual(job.id, 9094)
Example #4
0
  def testLog(self):
    job = _FakeJob(9094, constants.JOB_STATUS_RUNNING)
    checker = jqueue._JobChangesChecker(["status"], None, None)
    self.assertEqual(checker(job), ([constants.JOB_STATUS_RUNNING], []))

    job.AddLogEntry("Hello World")
    (job_info, log_entries) = checker(job)
    self.assertEqual(job_info, [constants.JOB_STATUS_RUNNING])
    self.assertEqual(log_entries, [[0, "Hello World"]])

    checker2 = jqueue._JobChangesChecker(["status"], job_info, len(log_entries))
    self.assert_(checker2(job) is None)

    job.AddLogEntry("Foo Bar")
    job.SetStatus(constants.JOB_STATUS_ERROR)

    (job_info, log_entries) = checker2(job)
    self.assertEqual(job_info, [constants.JOB_STATUS_ERROR])
    self.assertEqual(log_entries, [[1, "Foo Bar"]])

    checker3 = jqueue._JobChangesChecker(["status"], None, None)
    (job_info, log_entries) = checker3(job)
    self.assertEqual(job_info, [constants.JOB_STATUS_ERROR])
    self.assertEqual(log_entries, [[0, "Hello World"], [1, "Foo Bar"]])