Exemplo n.º 1
0
    def test_set_status_no_steps(self, _updated):
        # test
        pr = ProgressReport()
        pr.set_status(True)

        # validation
        self.assertEqual(pr.steps, [])
        self.assertEqual(pr.details, {})
        self.assertFalse(_updated.called)
Exemplo n.º 2
0
    def test_set_status(self, _updated):
        step = 'started'

        # test
        pr = ProgressReport()
        pr.push_step(step)
        pr.set_status(True)

        # validation
        self.assertEqual(pr.steps, [[step, True]])
        self.assertEqual(pr.details, {})
        self.assertTrue(_updated.called)
Exemplo n.º 3
0
    def test_report_steps_with_errors(self):
        # Test that previous state with status=False is not
        # set (True) on next state push
        steps = ('A', 'B', 'C')

        # test
        pr = ProgressReport()
        pr._updated = Mock()
        pr.push_step(steps[0])
        pr.push_step(steps[1])
        pr.set_status(False)
        pr.push_step(steps[2])

        # validation
        self.assertTrue(pr.steps[0][1])
        self.assertFalse(pr.steps[1][1])
        self.assertTrue(pr.steps[2][1] is None)
Exemplo n.º 4
0
    def test_trans_callback(self):
        pr = ProgressReport()
        pr._updated = Mock()

        # test
        cb = ProcessTransCallback(pr)
        for state in sorted(PT_MESSAGES.keys()):
            cb.event(state)
        pr.set_status(True)

        # validation
        self.assertEqual(len(PT_MESSAGES), len(pr.steps))
        i = 0
        for state in sorted(PT_MESSAGES.keys()):
            step = pr.steps[i]
            name = PT_MESSAGES[state]
            self.assertEqual(step[0], name)
            self.assertTrue(step[1])
            i += 1