Exemple #1
0
    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)
Exemple #2
0
    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'}),
        )
Exemple #3
0
    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'}),
        )
Exemple #4
0
    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)