def test_get_old_live_draining_tasks_not_empty(self): fake_name = 'whoa' fake_instance = 'the_earth_is_tiny' fake_id = marathon_tools.format_job_id(fake_name, fake_instance) def fake_task(state): return mock.Mock(_drain_state=state) fake_apps = [ mock.Mock(id=fake_id, tasks=[fake_task('up'), fake_task('down')]), mock.Mock(id=('%s2' % fake_id), tasks=[fake_task('up'), fake_task('down')]) ] expected_live_tasks = { fake_apps[0].id: set([fake_apps[0].tasks[0]]), fake_apps[1].id: set([fake_apps[1].tasks[0]]), } expected_draining_tasks = { fake_apps[0].id: set([fake_apps[0].tasks[1]]), fake_apps[1].id: set([fake_apps[1].tasks[1]]), } fake_drain_method = mock.Mock(is_draining=lambda t: t._drain_state == 'down') actual = setup_marathon_job.get_old_live_draining_tasks(fake_apps, fake_drain_method) actual_live_tasks, actual_draining_tasks = actual assert actual_live_tasks == expected_live_tasks assert actual_draining_tasks == expected_draining_tasks
def test_get_old_live_draining_tasks_empty(self): fake_name = 'whoa' fake_instance = 'the_earth_is_tiny' fake_id = marathon_tools.format_job_id(fake_name, fake_instance) fake_apps = [ mock.Mock(id=fake_id, tasks=[]), mock.Mock(id=('%s2' % fake_id), tasks=[]) ] expected_live_tasks = { fake_apps[0].id: set(), fake_apps[1].id: set(), } expected_draining_tasks = { fake_apps[0].id: set(), fake_apps[1].id: set(), } fake_drain_method = mock.Mock(is_draining=lambda _: True) actual = setup_marathon_job.get_old_live_draining_tasks(fake_apps, fake_drain_method) actual_live_tasks, actual_draining_tasks = actual assert actual_live_tasks == expected_live_tasks assert actual_draining_tasks == expected_draining_tasks