def test_get_total_ignore_filter(self): step = UnitPublishStep("foo", ['bar', 'baz']) step.association_filters = {'foo': 'bar'} step.parent = Mock() step.parent.repo.content_unit_counts.get.return_value = 1 total = step._get_total(ignore_filter=True) self.assertEquals(2, total)
def test_process_step_no_units(self, mock_get_units): self.publisher.repo.content_unit_counts = {'FOO_TYPE': 0} mock_method = Mock() mock_get_units.return_value = [] step = UnitPublishStep('foo_step', 'FOO_TYPE') step.parent = self.publisher step.process_unit = mock_method step.process() self.assertEquals(step.state, reporting_constants.STATE_COMPLETE) self.assertFalse(mock_method.called)
def test_process_step_single_unit_exception(self, mock_get_units): self.publisher.repo.content_unit_counts = {'FOO_TYPE': 1} mock_method = Mock(side_effect=Exception()) mock_get_units.return_value = ['mock_unit'] step = UnitPublishStep('foo_step', 'FOO_TYPE') step.parent = self.publisher step.process_unit = mock_method self.assertRaises(Exception, step.process) self.assertEquals(step.state, reporting_constants.STATE_FAILED) self.assertEquals(step.progress_successes, 0) self.assertEquals(step.progress_failures, 1) self.assertEquals(step.total_units, 1) mock_method.assert_called_once_with('mock_unit')
def test_process_step_single_unit(self, mock_get_units): self.publisher.repo.content_unit_counts = {'FOO_TYPE': 1} mock_method = Mock() mock_get_units.return_value = ['mock_unit'] step = UnitPublishStep('foo_step', 'FOO_TYPE') step.parent = self.publisher step.process_unit = mock_method step.process() self.assertEquals(step.state, reporting_constants.STATE_COMPLETE) self.assertEquals(step.progress_successes, 1) self.assertEquals(step.progress_failures, 0) self.assertEquals(step.total_units, 1) mock_method.assert_called_once_with('mock_unit')
def test_get_total_for_none(self): step = UnitPublishStep("foo", ['bar', 'baz']) step.parent = Mock() step.parent.repo.content_unit_counts.get.return_value = 0 total = step._get_total() self.assertEquals(0, total)
def test_process_step_skip_units(self): self.publisher.config = PluginCallConfiguration(None, {'skip': ['FOO']}) step = UnitPublishStep('foo_step', 'FOO') step.parent = self.publisher step.process() self.assertEquals(step.state, reporting_constants.STATE_SKIPPED)