def test_main_system_already_mounted(self, mock_path_exists,
                                      mock_path_create, mock_Command_run,
                                      mock_logger_setup):
     mock_path_exists.return_value = True
     command = Mock()
     command.returncode = 0
     mock_Command_run.return_value = command
     main()
     mock_path_create.assert_called_once_with('/system-root')
 def test_main_no_system_found(
     self, mock_path_create, mock_Command_run,
     mock_info, mock_error, mock_log_file
 ):
     mock_log_file.return_value = '../data/logfile'
     with raises(DistMigrationSystemNotFoundException):
         main()
         assert mock_info.called
         assert mock_error.called
Exemple #3
0
 def test_main_system_already_mounted(self, mock_path_ismount,
                                      mock_path_create, mock_logger_setup):
     mock_path_ismount.return_value = True
     logger = logging.getLogger(Defaults.get_migration_log_name())
     with patch.object(logger, 'info') as mock_info:
         main()
         mock_path_create.assert_called_once_with('/system-root')
         assert mock_info.call_args_list == [
             call('Running mount system service'),
             call('Checking /system-root is mounted')
         ]
 def test_main_system_already_mounted(
     self, mock_path_exists, mock_path_create,
     mock_Command_run, mock_info, mock_log_file
 ):
     mock_log_file.return_value = '../data/logfile'
     mock_path_exists.return_value = True
     command = Mock()
     command.returncode = 0
     mock_Command_run.return_value = command
     main()
     mock_path_create.assert_called_once_with('/system-root')
     assert mock_info.called
Exemple #5
0
    def test_main_no_system_found(self, mock_Command_run, mock_path_create,
                                  mock_logger_setup):
        command_run = namedtuple('command', ['output', 'error', 'returncode'])

        def command_calls(command):
            if 'lsblk' in command:
                return command_run(output='/dev/sda4 part',
                                   error='',
                                   returncode=0)

        mock_Command_run.side_effect = command_calls

        with raises(DistMigrationSystemNotFoundException):
            main()
    def test_main(self, mock_path_exists, mock_is_mounted, mock_Fstab,
                  mock_path_wipe, mock_path_create, mock_Command_run,
                  mock_logger_setup, mock_update_migration_config_file,
                  mock_get_migration_config_file,
                  mock_get_system_migration_custom_config_file, mock_yaml_dump,
                  mock_yaml_safe_load):
        def _is_mounted(path):
            if path == '/run/initramfs/isoscan':
                return True
            return False

        fstab = Fstab()
        fstab_mock = Mock()
        fstab_mock.read.return_value = fstab.read('../data/fstab')
        fstab_mock.get_devices.return_value = fstab.get_devices()
        mock_is_mounted.side_effect = _is_mounted
        mock_path_exists.side_effect = [True, True, False]
        mock_Fstab.return_value = fstab_mock
        command = Mock()
        command.returncode = 1
        command.output = '/dev/sda1 part\n/dev/mapper/LVRoot lvm'
        mock_Command_run.return_value = command
        mock_get_system_migration_custom_config_file.return_value = \
            '../data/optional-migration-config.yml'
        mock_get_migration_config_file.return_value = \
            '../data/migration-config.yml'
        mock_yaml_safe_load.return_value = {
            'migration_product': 'SLES/15/x86_64'
        }
        with patch('builtins.open', create=True) as mock_open:
            main()
            assert mock_update_migration_config_file.called
            assert mock_Command_run.call_args_list == [
                call(['mount', '-o', 'remount,rw', '/run/initramfs/isoscan']),
                call(['lsblk', '-p', '-n', '-r', '-o', 'NAME,TYPE']),
                call(['vgchange', '-a', 'y']),
                call(['mount', '/dev/sda1', '/system-root'],
                     raise_on_error=False),
                call(['umount', '/system-root'], raise_on_error=False),
                call([
                    'mount', '-o', 'acl,user_xattr', '/dev/disk/by-uuid/'
                    'bd604632-663b-4d4c-b5b0-8d8686267ea2', '/system-root/'
                ]),
                call([
                    'mount', '-o', 'defaults',
                    '/dev/disk/by-partuuid/3c8bd108-01', '/system-root/bar'
                ]),
                call([
                    'mount', '-o', 'defaults', '/dev/mynode',
                    '/system-root/foo'
                ]),
                call([
                    'mount', '-o', 'defaults', '/dev/disk/by-label/foo',
                    '/system-root/home'
                ]),
                call([
                    'mount', '-o', 'defaults', '/dev/disk/by-uuid/FCF7-B051',
                    '/system-root/boot/efi'
                ]),
                call([
                    'mount', '-o', 'defaults', '/dev/homeboy',
                    '/system-root/home/stack'
                ]),
                call([
                    'mount', '-t', 'devtmpfs', 'devtmpfs', '/system-root/dev'
                ]),
                call(['mount', '-t', 'proc', 'proc', '/system-root/proc']),
                call(['mount', '-t', 'sysfs', 'sysfs', '/system-root/sys'])
            ]
            assert fstab_mock.add_entry.call_args_list == [
                call('/dev/disk/by-uuid/bd604632-663b-4d4c-b5b0-8d8686267ea2',
                     '/system-root/', 'ext4'),
                call('/dev/disk/by-partuuid/3c8bd108-01', '/system-root/bar',
                     'ext4'),
                call('/dev/mynode', '/system-root/foo', 'ext4'),
                call('/dev/disk/by-label/foo', '/system-root/home', 'ext4'),
                call(
                    '/dev/disk/by-uuid/FCF7-B051',
                    '/system-root/boot/efi',
                    'vfat',
                ),
                call('/dev/homeboy', '/system-root/home/stack', 'ext4'),
                call('devtmpfs', '/system-root/dev'),
                call('/proc', '/system-root/proc'),
                call('sysfs', '/system-root/sys')
            ]
            fstab_mock.export.assert_called_once_with('/etc/system-root.fstab')
            assert mock_open.call_args_list == [
                call('../data/migration-config.yml', 'r')
            ]
 def test_main_no_system_found(self, mock_path_create, mock_Command_run,
                               mock_logger_setup):
     with raises(DistMigrationSystemNotFoundException):
         main()