def test_replace_explicit_with_labels(self): m = Mock() runner = Runner(m.job0) runner.add_label('foo') runner['foo'].add(m.job1) runner['foo'].add(m.job2) runner.replace(m.job2, m.jobnew, returns='mock') runner() compare([call.job0(), call.job1(), call.jobnew()], m.mock_calls) # check added_using is handled correctly m.reset_mock() runner2 = runner.clone(added_using='foo') runner2() compare([call.job1(), call.jobnew()], actual=m.mock_calls) # check runner's label pointer is sane m.reset_mock() runner['foo'].add(m.job3) runner() compare( [call.job0(), call.job1(), call.jobnew(), call.job3()], actual=m.mock_calls)
def test_runner_add_label(self): m = Mock() runner = Runner() runner.add(m.job1) runner.add_label('label') runner.add(m.job3) runner['label'].add(m.job2) verify(runner, (m.job1, set()), (m.job2, {'label'}), (m.job3, set())) cloned = runner.clone(added_using='label') verify( cloned, (m.job2, {'label'}), )
def test_runner_add_label(self): m = Mock() runner = Runner() runner.add(m.job1) runner.add_label('label') runner.add(m.job3) runner['label'].add(m.job2) verify( runner, (m.job1, set()), (m.job2, {'label'}), (m.job3, set()) ) cloned = runner.clone(added_using='label') verify( cloned, (m.job2, {'label'}), )
def test_replace_explicit_with_labels(self): m = Mock() runner = Runner(m.job0) runner.add_label('foo') runner['foo'].add(m.job1) runner['foo'].add(m.job2) runner.replace(m.job2, m.jobnew, returns='mock') runner() compare([ call.job0(), call.job1(), call.jobnew() ], m.mock_calls) # check added_using is handled correctly m.reset_mock() runner2 = runner.clone(added_using='foo') runner2() compare([ call.job1(), call.jobnew() ], actual=m.mock_calls) # check runner's label pointer is sane m.reset_mock() runner['foo'].add(m.job3) runner() compare([ call.job0(), call.job1(), call.jobnew(), call.job3() ], actual=m.mock_calls)