228 lines
8.0 KiB
Python
228 lines
8.0 KiB
Python
#!/usr/bin/python
|
|
|
|
import mock
|
|
|
|
class BackendTest(mock.TestCase):
|
|
|
|
def setUp(self):
|
|
import pykickstart.commands
|
|
|
|
self.setupModules(["_isys", "block", 'parted', 'storage',
|
|
'pyanaconda.storage.formats', 'logging',
|
|
'logging.config',
|
|
'ConfigParser', 'pyanaconda.anaconda_log',
|
|
'pyanaconda.storage.storage_log',
|
|
'pyanaconda.yuminstall'])
|
|
|
|
import pyanaconda
|
|
pyanaconda.anaconda_log = mock.Mock()
|
|
|
|
import logging
|
|
self.logger = mock.Mock()
|
|
logging.getLogger.return_value = self.logger
|
|
|
|
self.DD_EXTRACTED = '/tmp/DD'
|
|
|
|
import pyanaconda.backend
|
|
pyanaconda.backend.os = mock.Mock()
|
|
pyanaconda.backend.DD_EXTRACTED = self.DD_EXTRACTED
|
|
pyanaconda.backend.glob = mock.Mock()
|
|
pyanaconda.backend.shutil = mock.Mock()
|
|
|
|
self.logger.reset_mock()
|
|
|
|
def tearDown(self):
|
|
self.tearDownModules()
|
|
|
|
def anaconda_backend_copy_firmware_test(self):
|
|
import pyanaconda.backend
|
|
FILE = 'foo'
|
|
pyanaconda.backend.glob.glob.return_value = [FILE]
|
|
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.copyFirmware()
|
|
self.assertEqual(pyanaconda.backend.shutil.copyfile.call_args[0][0], FILE)
|
|
|
|
def anaconda_backend_do_post_install_test(self):
|
|
import pyanaconda.backend
|
|
from pyanaconda.constants import ROOT_PATH
|
|
FILE = 'foo'
|
|
A = 'a'
|
|
B = 'b'
|
|
C = 'c'
|
|
pyanaconda.backend.AnacondaBackend.copyFirmware = mock.Mock()
|
|
pyanaconda.backend.AnacondaBackend.kernelVersionList = mock.Mock(
|
|
return_value=[(A, B, C)])
|
|
pyanaconda.backend.packages = mock.Mock()
|
|
pyanaconda.backend.glob.glob.return_value = [FILE]
|
|
|
|
pyanaconda.backend.os.path.exists.return_value=True
|
|
pyanaconda.backend.os.path.basename.return_value=""
|
|
|
|
pyanaconda.backend.storage = mock.Mock()
|
|
pyanaconda.backend.sys = mock.Mock()
|
|
|
|
anaconda = mock.Mock()
|
|
anaconda.extraModules = True
|
|
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.doPostInstall(anaconda)
|
|
|
|
self.assertEqual(pyanaconda.backend.packages.method_calls[0],
|
|
('recreateInitrd', (A, ROOT_PATH), {}))
|
|
self.assertEqual(pyanaconda.backend.shutil.method_calls[0],
|
|
('copytree', (FILE, ROOT_PATH + '/root/'), {}))
|
|
self.assertEqual(pyanaconda.backend.shutil.method_calls[1],
|
|
('copytree', (self.DD_EXTRACTED, ROOT_PATH + '/root/DD'), {}))
|
|
self.assertTrue(pyanaconda.backend.storage.writeEscrowPackets.called)
|
|
|
|
def anaconda_backend_do_install_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
self.assertRaises(NotImplementedError, ab.doInstall, anaconda)
|
|
|
|
def anaconda_backend_kernel_version_list_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ret = ab.kernelVersionList()
|
|
self.assertEqual([], ret)
|
|
|
|
def anaconda_backend_get_minimum_size_mb_test(self):
|
|
import pyanaconda.backend
|
|
PART = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ret = ab.getMinimumSizeMB(PART)
|
|
self.assertEqual(0, ret)
|
|
|
|
def anaconda_backend_do_backend_setup_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.doBackendSetup(anaconda)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_group_exists_test(self):
|
|
import pyanaconda.backend
|
|
GROUP = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.groupExists(GROUP)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_select_group_test(self):
|
|
import pyanaconda.backend
|
|
GROUP = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.selectGroup(GROUP)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_deselect_group_test(self):
|
|
import pyanaconda.backend
|
|
GROUP = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.deselectGroup(GROUP)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_package_exists_test(self):
|
|
import pyanaconda.backend
|
|
PKG = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.packageExists(PKG)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_select_package_test(self):
|
|
import pyanaconda.backend
|
|
PKG = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.selectPackage(PKG)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_deselect_package_test(self):
|
|
import pyanaconda.backend
|
|
PKG = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.deselectPackage(PKG)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_get_default_groups_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.getDefaultGroups(anaconda)
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def anaconda_backend_write_configuration_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
ab = pyanaconda.backend.AnacondaBackend(anaconda)
|
|
ab.writeConfiguration()
|
|
self.assertTrue(self.logger.warning.called)
|
|
|
|
def do_backend_setup_1_test(self):
|
|
import pyanaconda.backend
|
|
RET = -1
|
|
pyanaconda.backend.DISPATCH_BACK = RET
|
|
anaconda = mock.Mock()
|
|
anaconda.backend.doBackendSetup.return_value = RET
|
|
ret = pyanaconda.backend.doBackendSetup(anaconda)
|
|
self.assertEqual(RET, ret)
|
|
|
|
def do_post_selection_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
pyanaconda.backend.doPostSelection(anaconda)
|
|
self.assertTrue(anaconda.backend.doPostSelection.called)
|
|
|
|
def do_pre_install_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
pyanaconda.backend.doPreInstall(anaconda)
|
|
self.assertTrue(anaconda.backend.doPreInstall.called)
|
|
|
|
def do_post_install_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
pyanaconda.backend.doPostInstall(anaconda)
|
|
self.assertTrue(anaconda.backend.doPostInstall.called)
|
|
|
|
def do_install_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
pyanaconda.backend.doInstall(anaconda)
|
|
self.assertTrue(anaconda.backend.doInstall.called)
|
|
|
|
def do_base_package_select_1_test(self):
|
|
import pyanaconda.backend
|
|
pyanaconda.backend.kickstart = mock.Mock()
|
|
anaconda = mock.Mock()
|
|
anaconda.ksdata = True
|
|
|
|
pyanaconda.backend.doBasePackageSelect(anaconda)
|
|
self.assertTrue(anaconda.backend.resetPackageSelections.called)
|
|
|
|
def do_base_package_select_2_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
anaconda.ksdata = False
|
|
|
|
pyanaconda.backend.doBasePackageSelect(anaconda)
|
|
self.assertTrue(anaconda.backend.resetPackageSelections.called)
|
|
self.assertTrue(anaconda.instClass.setPackageSelection.called)
|
|
self.assertTrue(anaconda.instClass.setGroupSelection.called)
|
|
|
|
def write_configuration_test(self):
|
|
import pyanaconda.backend
|
|
anaconda = mock.Mock()
|
|
pyanaconda.backend.writeConfiguration(anaconda)
|
|
self.assertTrue(anaconda.write.called)
|
|
self.assertTrue(anaconda.backend.writeConfiguration)
|