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])
def test_set_action(self, _updated): pr = ProgressReport() package = 'openssl' action = '100' # test pr.set_action(action, package) # validation self.assertEqual(pr.details, dict(action=action, package=package)) self.assertTrue(_updated.called)