Beispiel #1
0
    def testGetFrames(self, getStubMock):
        frameNames = ['testFrameA', 'testFrameB']
        stubMock = mock.Mock()
        stubMock.GetFrames.return_value = job_pb2.JobGetFramesResponse(
            frames=job_pb2.FrameSeq(frames=[job_pb2.Frame(name=frameNames[0]),
                                            job_pb2.Frame(name=frameNames[1])]))
        getStubMock.return_value = stubMock

        frameRange = '1-10'
        criteria = opencue.search.FrameSearch.criteriaFromOptions(range=frameRange)
        job = opencue.wrappers.job.Job(
            job_pb2.Job(name=TEST_JOB_NAME))
        frames = job.getFrames(range=frameRange)

        stubMock.GetFrames.assert_called_with(
            job_pb2.JobGetFramesRequest(job=job.data, req=criteria), timeout=mock.ANY)
        self.assertTrue(len(frames), 2)
        self.assertTrue(frames[0].name(), frameNames[0])
        self.assertTrue(frames[1].name(), frameNames[1])
Beispiel #2
0
    def testGetUpdatedFrames(self, getStubMock):
        stubMock = mock.Mock()
        stubMock.GetUpdatedFrames.return_value = job_pb2.JobGetUpdatedFramesResponse(
            state=job_pb2.FINISHED,
            server_time=987654321,
            updated_frames=job_pb2.UpdatedFrameSeq(
                updated_frames=[job_pb2.UpdatedFrame(id='uuu-uuuu-uuu')]))
        getStubMock.return_value = stubMock

        lastCheck = 123456789
        job = opencue.wrappers.job.Job(
            job_pb2.Job(name=TEST_JOB_NAME))
        framesResponse = job.getUpdatedFrames(lastCheck)

        stubMock.GetUpdatedFrames.assert_called_with(
            job_pb2.JobGetUpdatedFramesRequest(job=job.data, last_check=lastCheck,
                                               layer_filter=None),
            timeout=mock.ANY)
        self.assertEqual(framesResponse.state, job_pb2.FINISHED)
        self.assertEqual(len(framesResponse.updated_frames.updated_frames), 1)
Beispiel #3
0
    def testFrameStateTotals(self, getStubMock):
        runningFrames = 10
        waitingFrames = 50
        succeededFrames = 30
        expected = {job_pb2.WAITING: waitingFrames,
                    job_pb2.RUNNING: runningFrames,
                    job_pb2.SUCCEEDED: succeededFrames,
                    job_pb2.CHECKPOINT: 0,
                    job_pb2.SETUP: 0,
                    job_pb2.EATEN: 0,
                    job_pb2.DEAD: 0,
                    job_pb2.DEPEND: 0}

        job = opencue.wrappers.job.Job(job_pb2.Job(
            name="frameStateTestJob",
            job_stats=job_pb2.JobStats(
                running_frames=runningFrames,
                waiting_frames=waitingFrames,
                succeeded_frames=succeededFrames)))

        frameStateTotals = job.frameStateTotals()
        self.assertEqual(frameStateTotals, expected)
Beispiel #4
0
    def testGetJobs(self, getStubMock):
        stubMock = mock.Mock()
        stubMock.GetJobs.return_value = job_pb2.JobGetJobsResponse(
            jobs=job_pb2.JobSeq(jobs=[job_pb2.Job(name=TEST_JOB_NAME)]))
        getStubMock.return_value = stubMock

        jobsByShow = opencue.api.getJobs(show=[TEST_SHOW_NAME], all=True)

        stubMock.GetJobs.assert_called_with(
            job_pb2.JobGetJobsRequest(
                r=job_pb2.JobSearchCriteria(shows=[TEST_SHOW_NAME])), timeout=mock.ANY)
        self.assertEqual(1, len(jobsByShow))
        self.assertEqual(TEST_JOB_NAME, jobsByShow[0].name())

        jobsByName = opencue.api.getJobs(name=[TEST_JOB_NAME], show=[TEST_SHOW_NAME])

        stubMock.GetJobs.assert_called_with(
            job_pb2.JobGetJobsRequest(
                r=job_pb2.JobSearchCriteria(
                    jobs=[TEST_JOB_NAME], shows=[TEST_SHOW_NAME])), timeout=mock.ANY)
        self.assertEqual(1, len(jobsByName))
        self.assertEqual(TEST_JOB_NAME, jobsByName[0].name())
Beispiel #5
0
 def asJob(self):
     """returns a Job object from this NestedJob"""
     return Job(
         job_pb2.Job(id=self.data.id,
                     state=self.data.state,
                     name=self.data.name,
                     shot=self.data.shot,
                     show=self.data.show,
                     user=self.data.user,
                     group=self.data.group,
                     facility=self.data.facility,
                     os=self.data.os,
                     uid=self.data.uid,
                     priority=self.data.priority,
                     min_cores=self.data.min_cores,
                     max_cores=self.data.max_cores,
                     log_dir=self.data.log_dir,
                     is_paused=self.data.is_paused,
                     has_comment=self.data.has_comment,
                     auto_eat=self.data.auto_eat,
                     start_time=self.data.start_time,
                     stop_time=self.data.stop_time,
                     job_stats=self.data.stats))
Beispiel #6
0
    def testIdOnEntity(self, getStubMock):
        del getStubMock
        arbitraryId = 'foo'
        job = Job(job_pb2.Job(id=arbitraryId))

        self.assertEqual(arbitraryId, opencue.id(job))
Beispiel #7
0
    def testIdOnEntity(self):
        arbitraryId = 'foo'
        job = Job(job_pb2.Job(id=arbitraryId))

        self.assertEquals(arbitraryId, opencue.id(job))