def test_uninstall_no_transactions(self, erased, affected, yum): names = [ 'group_1', 'group_2' ] progress = Mock() yum.return_value.tsInfo.__len__.return_value = 0 yum.return_value.progress = progress # test package = PackageGroup(progress=progress) details = package.uninstall(names) # validation self.assertEqual( yum.return_value.groupRemove.call_args_list, [ call(n) for n in names ]) yum.return_value.resolveDeps.assert_called_once_with() progress.set_status.assert_called_once_with(True) erased.assert_called_once_with(yum.return_value.tsInfo) affected.assert_called_once_with(erased.return_value) self.assertFalse(yum.return_value.processTransaction.called) self.assertEqual(details, erased.return_value)
def test_install(self, installed, affected, yum): names = [ 'group_1', 'group_2' ] progress = Mock() yum.return_value.tsInfo.__len__.return_value = len(names) # test package = PackageGroup(importkeys=123, progress=progress) details = package.install(names) # validation yum.assert_called_once_with(123, progress) self.assertEqual( yum.return_value.selectGroup.call_args_list, [ call(n) for n in names ]) yum.return_value.resolveDeps.assert_called_once_with() yum.return_value.processTransaction.assert_called_once_with() yum.return_value.close.assert_called_once_with() installed.assert_called_once_with(yum.return_value.tsInfo) affected.assert_called_once_with(installed.return_value) self.assertEqual(details, installed.return_value)
def test_install_not_applied(self, installed, affected, yum): names = [ 'group_1', 'group_2' ] progress = Mock() yum.return_value.tsInfo.__len__.return_value = len(names) yum.return_value.progress = progress # test package = PackageGroup(apply=False, progress=progress) details = package.install(names) # validation self.assertEqual( yum.return_value.selectGroup.call_args_list, [ call(n) for n in names ]) yum.return_value.resolveDeps.assert_called_once_with() yum.return_value.close.assert_called_once_with() progress.set_status.assert_called_once_with(True) installed.assert_called_once_with(yum.return_value.tsInfo) affected.assert_called_once_with(installed.return_value) self.assertFalse(yum.return_value.processTransaction.called) self.assertEqual(details, installed.return_value)
def __impl(self, conduit, options): """ Get package group implementation. :param options: Passed options. :type options: dict :return: A package object. :rtype: Package """ apply = options.get('apply', True) importkeys = options.get('importkeys', False) impl = PackageGroup(apply=apply, importkeys=importkeys, progress=PackageProgress(conduit)) return impl