Esempio n. 1
0
    def test_report_steps(self):
        steps = ('A', 'B', 'C')
        action = ('downloading', 'package-xyz-1.0-1.f16.rpm')

        # test and validation
        pr = ProgressReport()
        pr._updated = Mock()
        for s in steps:
            # validate steps pushed with status of None
            pr.push_step(s)
            name, status = pr.steps[-1]
            self.assertEqual(name, s)
            self.assertTrue(status is None)
            # validate details cleared on state pushed
            self.assertEqual(len(pr.details), 0)
            # set the action
            pr.set_action(action[0], action[1])
            # validate action
            self.assertEqual(pr.details['action'], action[0])
            self.assertEqual(pr.details['package'], action[1])
            # validate previous step status is set (True) on next
            # push when status is None
            prev = pr.steps[-2:-1]
            if prev:
                self.assertTrue(prev[0][1])
Esempio n. 2
0
    def test_push_step(self, _updated):
        step = 'started'

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

        # validation
        self.assertEqual(pr.details, {})
        self.assertEqual(pr.steps, [[step, None]])
        self.assertTrue(_updated.called)
Esempio n. 3
0
    def test_error(self, _updated):
        pr = ProgressReport()
        step = 'started'
        pr.push_step(step)
        message = 'This is bad'

        # test
        pr.error(message)

        # validation
        self.assertEqual(pr.details, dict(error=message))
        self.assertEqual(pr.steps, [[step, False]])
        self.assertTrue(_updated.called)
Esempio n. 4
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)