def test_failed_job_machine_removal(self): from consuela import Consuela from job import Job from worker import Worker with mock.patch('consuela.terminate_worker') as worker_mock: cleaner = Consuela() cleaner.job_pub_sub = mock.MagicMock() cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}] worker = Worker(None, None) worker.instance = 'some' cleaner.get_worker = mock.MagicMock() cleaner.get_worker.return_value = 'id', worker cleaner.client = mock.MagicMock() cleaner.client.exists.return_value = True cleaner.client.get.return_value = pickle.dumps( Job('failed', 'something')) cleaner.settings = mock.MagicMock() cleaner.settings.recycle_workers = True cleaner.recycle_worker = mock.MagicMock() cleaner.recycle_worker.return_value = False cleaner.run() assert cleaner.client.exists.call_count == 1 assert worker_mock.call_count == 0
def test_normal_machine_recycle(self): from consuela import Consuela from job import Job from worker import Worker cleaner = Consuela() cleaner.job_pub_sub = mock.MagicMock() cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}] worker = Worker(None, None) worker.instance = 'some' cleaner.get_worker = mock.MagicMock() cleaner.get_worker.return_value = 'id', worker cleaner.client = mock.MagicMock() cleaner.client.exists.return_value = True cleaner.client.get.return_value = pickle.dumps( Job('finished', 'something')) cleaner.settings = mock.MagicMock() cleaner.settings.recycle_workers = True cleaner.recycle_worker = mock.MagicMock() cleaner.recycle_worker.return_value = True cleaner.run() assert cleaner.client.exists.call_count == 1 assert cleaner.client.get.call_count == 1 assert pickle.loads( cleaner.client.set.call_args_list[0][0][1]).job_id is None
def test_failed_job_machine_removal(self): from consuela import Consuela from job import Job from worker import Worker with mock.patch('consuela.terminate_worker') as worker_mock: cleaner = Consuela() cleaner.job_pub_sub = mock.MagicMock() cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}] worker = Worker(None, None) worker.instance = 'some' cleaner.get_worker = mock.MagicMock() cleaner.get_worker.return_value = 'id', worker cleaner.client = mock.MagicMock() cleaner.client.exists.return_value = True cleaner.client.get.return_value = pickle.dumps(Job('failed', 'something')) cleaner.settings = mock.MagicMock() cleaner.settings.recycle_workers = True cleaner.recycle_worker = mock.MagicMock() cleaner.recycle_worker.return_value = False cleaner.run() assert cleaner.client.exists.call_count == 1 assert worker_mock.call_count == 0
def test_normal_machine_recycle(self): from consuela import Consuela from job import Job from worker import Worker cleaner = Consuela() cleaner.job_pub_sub = mock.MagicMock() cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}] worker = Worker(None, None) worker.instance = 'some' cleaner.get_worker = mock.MagicMock() cleaner.get_worker.return_value = 'id', worker cleaner.client = mock.MagicMock() cleaner.client.exists.return_value = True cleaner.client.get.return_value = pickle.dumps(Job('finished', 'something')) cleaner.settings = mock.MagicMock() cleaner.settings.recycle_workers = True cleaner.recycle_worker = mock.MagicMock() cleaner.recycle_worker.return_value = True cleaner.run() assert cleaner.client.exists.call_count == 1 assert cleaner.client.get.call_count == 1 assert pickle.loads(cleaner.client.set.call_args_list[0][0][1]).job_id is None
def test_no_job_machine_removal(self): from consuela import Consuela from worker import Worker with mock.patch('consuela.terminate_worker') as worker_mock: cleaner = Consuela() cleaner.job_pub_sub = mock.MagicMock() cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}] worker = Worker(None, None) worker.instance = 'some' cleaner.get_worker = mock.MagicMock() cleaner.get_worker.return_value = 'id', worker cleaner.client = mock.MagicMock() cleaner.client.exists.return_value = False cleaner.run() assert cleaner.client.exists.call_count == 1 assert worker_mock.call_count == 1