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])
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)
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)
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())
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))
def testIdOnEntity(self, getStubMock): del getStubMock arbitraryId = 'foo' job = Job(job_pb2.Job(id=arbitraryId)) self.assertEqual(arbitraryId, opencue.id(job))
def testIdOnEntity(self): arbitraryId = 'foo' job = Job(job_pb2.Job(id=arbitraryId)) self.assertEquals(arbitraryId, opencue.id(job))