def test_remove_offline_worker_keys(self, mock_inspect): """Test the remove_offline_worker_keys function.""" second_host = "kokuworker2" first_host_list = [1, 2, 3] second_host_list = [4, 5, 6] all_work_list = first_host_list + second_host_list mock_worker_list = { "celery@kokuworker": "", f"celery@{second_host}": "" } mock_inspect.reserved.return_value = mock_worker_list _cache = WorkerCache() for task in first_host_list: _cache.add_task_to_cache(task) with override_settings(HOSTNAME=second_host): _cache = WorkerCache() for task in second_host_list: _cache.add_task_to_cache(task) self.assertEqual(sorted(_cache.get_all_running_tasks()), sorted(all_work_list)) # kokuworker2 goes offline mock_inspect.reset() mock_worker_list = {"celery@kokuworker": ""} mock_inspect.reserved.return_value = mock_worker_list _cache.remove_offline_worker_keys() self.assertEqual(sorted(_cache.get_all_running_tasks()), sorted(first_host_list))
def test_get_all_running_tasks(self, mock_inspect): """Test that multiple hosts' task lists are combined.""" second_host = "koku-worker-2-sdfsdff" first_host_list = [1, 2, 3] second_host_list = [4, 5, 6] expected = first_host_list + second_host_list mock_worker_list = { "celery@kokuworker": "", f"celery@{second_host}": "" } mock_inspect.reserved.return_value = mock_worker_list _cache = WorkerCache() for task in first_host_list: _cache.add_task_to_cache(task) with override_settings(HOSTNAME=second_host): _cache = WorkerCache() for task in second_host_list: _cache.add_task_to_cache(task) self.assertEqual(sorted(_cache.get_all_running_tasks()), sorted(expected))
def test_get_all_running_tasks(self): """Test that multiple hosts' task lists are combined.""" second_host = "test" first_host_list = [1, 2, 3] second_host_list = [4, 5, 6] expected = first_host_list + second_host_list _cache = WorkerCache() _cache.set_host_specific_task_list(first_host_list) _worker_cache = _cache.worker_cache _worker_cache[second_host] = [4, 5, 6] cache.set(settings.WORKER_CACHE_KEY, _worker_cache, timeout=None) self.assertEqual(_cache.get_all_running_tasks(), expected)
def test_get_all_running_tasks(self): """Test that multiple hosts' task lists are combined.""" second_host = "test" first_host_list = [1, 2, 3] second_host_list = [4, 5, 6] expected = first_host_list + second_host_list _cache = WorkerCache() for task in first_host_list: _cache.add_task_to_cache(task) with patch.object(settings, "HOSTNAME", second_host): _cache = WorkerCache() for task in second_host_list: _cache.add_task_to_cache(task) self.assertEqual(sorted(_cache.get_all_running_tasks()), sorted(expected))