def test_jobmgr_submit(self, mock_api, mock_creds, mock_cfg): """Test submit""" _callback = mock.Mock() job = mock.create_autospec(JobSubmission) job.name = "test" job.source = "test" job.required_files = mock.create_autospec(FileCollection) mgr = JobManager(mock_creds, cfg=mock_cfg) mgr.submit(job) self.assertTrue(job.submit.called) job.required_files.upload.assert_called_with(threads=None, callback=None, block=4096) mgr.submit(job, upload_threads=10, callback=_callback, block=11111) self.assertTrue(job.submit.called) job.required_files.upload.assert_called_with(threads=10, callback=_callback, block=11111) with self.assertRaises(TypeError): mgr.submit("test") job.required_files.upload.return_value = ["oops"] with self.assertRaises(Exception): mgr.submit(job)
def test_jobmgr_create_job(self, mock_job, mock_api, mock_creds, mock_cfg): """Test create_job""" mgr = JobManager(mock_creds, cfg=mock_cfg) mgr.create_job("my_job", a='a', b='None', c=[], d=42) mock_job.assert_called_with(mgr._client, "my_job", a='a', b='None', c=[], d=42) mgr.create_job(None) mock_job.assert_called_with(mgr._client, "None")
def test_jobmgr_get_jobs(self, mock_job, mock_api, mock_creds, mock_cfg): """Test get_jobs""" mgr = JobManager(mock_creds, cfg=mock_cfg) resp = mock.create_autospec(Response) resp.success = False resp.result = RestCallException(None, "test", None) mgr._client.list_jobs.return_value = resp with self.assertRaises(RestCallException): mgr.get_jobs() mgr._client.list_jobs.assert_called_with(0, 10) resp.success = True resp.result = {'totalCount':10, 'jobs':[]} jobs = mgr.get_jobs(10, "5", 5) mgr._client.list_jobs.assert_called_with(10, 5, name='5') self.assertEqual(jobs, []) self.assertEqual(len(mgr), 10) resp.result = {'totalCount':10, 'jobs':[{'id':'1', 'name':'2'}]} with self.assertRaises(RestCallException): mgr.get_jobs(name="test") resp.result = {'totalCount':10, 'jobs':[{'id':'1', 'name':'2', 'type':'3', 'other':'4'}]} jobs = mgr.get_jobs(index="10") mock_job.assert_called_with(mgr._client, '1', '2', '3', other='4') self.assertEqual(len(jobs), 1)
def test_jobmgr_get_jobs(self, mock_job, mock_api, mock_creds, mock_cfg): """Test get_jobs""" mgr = JobManager(mock_creds, cfg=mock_cfg) resp = mock.create_autospec(Response) resp.success = False resp.result = RestCallException(None, "test", None) mgr._client.list_jobs.return_value = resp with self.assertRaises(RestCallException): mgr.get_jobs() mgr._client.list_jobs.assert_called_with(0, 10) resp.success = True resp.result = {'totalCount': 10, 'jobs': []} jobs = mgr.get_jobs(10, "5", 5) mgr._client.list_jobs.assert_called_with(10, 5, name='5') self.assertEqual(jobs, []) self.assertEqual(len(mgr), 10) resp.result = {'totalCount': 10, 'jobs': [{'id': '1', 'name': '2'}]} with self.assertRaises(RestCallException): mgr.get_jobs(name="test") resp.result = { 'totalCount': 10, 'jobs': [{ 'id': '1', 'name': '2', 'type': '3', 'other': '4' }] } jobs = mgr.get_jobs(index="10") mock_job.assert_called_with(mgr._client, '1', '2', '3', other='4') self.assertEqual(len(jobs), 1)
def test_jobmgr_get_job(self, mock_job, mock_api, mock_creds, mock_cfg): """Test get_job""" mgr = JobManager(mock_creds, cfg=mock_cfg) with self.assertRaises(ValueError): mgr.get_job() resp = mock.create_autospec(Response) resp.success = False resp.result = RestCallException(None, "test", None) mgr._client.get_job.return_value = resp with self.assertRaises(RestCallException): mgr.get_job(url="http://test") mgr._client.get_job.assert_called_with(url="http://test") resp.success = True resp.result = {'id':'1', 'name':'2', 'type':'3'} job = mgr.get_job(url="http://test") mgr._client.get_job.assert_called_with(url="http://test") mock_job.assert_called_with(mgr._client, '1', '2', '3') resp.result = {'id':'1', 'name':'2', 'type':'3', 'other':'4'} job = mgr.get_job(jobid="test_id") mgr._client.get_job.assert_called_with(job_id="test_id") mock_job.assert_called_with(mgr._client, '1', '2', '3', other='4') with self.assertRaises(ValueError): mgr.get_job("test") with self.assertRaises(ValueError): mgr.get_job(job="test") sub = mock.create_autospec(SubmittedJob) job = mgr.get_job(sub) self.assertEqual(job, sub) job = mgr.get_job(job=sub) self.assertEqual(job, sub)
def test_jobmgr_get_job(self, mock_job, mock_api, mock_creds, mock_cfg): """Test get_job""" mgr = JobManager(mock_creds, cfg=mock_cfg) with self.assertRaises(ValueError): mgr.get_job() resp = mock.create_autospec(Response) resp.success = False resp.result = RestCallException(None, "test", None) mgr._client.get_job.return_value = resp with self.assertRaises(RestCallException): mgr.get_job(url="http://test") mgr._client.get_job.assert_called_with(url="http://test") resp.success = True resp.result = {'id': '1', 'name': '2', 'type': '3'} job = mgr.get_job(url="http://test") mgr._client.get_job.assert_called_with(url="http://test") mock_job.assert_called_with(mgr._client, '1', '2', '3') resp.result = {'id': '1', 'name': '2', 'type': '3', 'other': '4'} job = mgr.get_job(jobid="test_id") mgr._client.get_job.assert_called_with(job_id="test_id") mock_job.assert_called_with(mgr._client, '1', '2', '3', other='4') with self.assertRaises(ValueError): mgr.get_job("test") with self.assertRaises(ValueError): mgr.get_job(job="test") sub = mock.create_autospec(SubmittedJob) job = mgr.get_job(sub) self.assertEqual(job, sub) job = mgr.get_job(job=sub) self.assertEqual(job, sub)