kiwi-el8/test/unit/system_profile_test.py
Marcus Schäfer 249871eaea Added <oem-nic-filter> element
Allow network interface names to be filtered by the given
regular expression. The expression is handled by the bash
regexp operator. Interface names matching the rule will be
filtered out, all others stay. It is also possible to pass
the variable kiwi_oemnicfilter as kernel command line in a
PXE deployment. Fixes #245
2017-03-28 11:26:03 +02:00

149 lines
5.5 KiB
Python

from mock import patch
import mock
import os
from kiwi.system.profile import Profile
from kiwi.xml_state import XMLState
from kiwi.xml_description import XMLDescription
class TestProfile(object):
def setup(self):
self.tmpfile = mock.Mock()
self.tmpfile.name = 'tmpfile'
description = XMLDescription('../data/example_dot_profile_config.xml')
self.profile = Profile(
XMLState(description.load())
)
@patch('kiwi.system.profile.NamedTemporaryFile')
@patch('kiwi.path.Path.which')
def test_create(self, mock_which, mock_temp):
mock_which.return_value = 'cp'
mock_temp.return_value = self.tmpfile
result = self.profile.create()
os.remove(self.tmpfile.name)
assert self.profile.dot_profile == {
'kiwi_Volume_1': 'usr_lib|size:1024|usr/lib',
'kiwi_Volume_2': 'LVRoot|freespace:500|',
'kiwi_Volume_3': 'etc_volume|freespace:30|etc',
'kiwi_Volume_4': 'bin_volume|size:all|/usr/bin',
'kiwi_Volume_5': 'usr_bin|size:all|usr/bin',
'kiwi_bootkernel': None,
'kiwi_bootloader': 'grub2',
'kiwi_bootprofile': None,
'kiwi_target_removable': None,
'kiwi_boot_timeout': None,
'kiwi_cmdline': 'splash',
'kiwi_compressed': None,
'kiwi_delete': '',
'kiwi_devicepersistency': None,
'kiwi_bootloader_console': None,
'kiwi_displayname': 'LimeJeOS-openSUSE-13.2',
'kiwi_drivers': '',
'kiwi_firmware': 'efi',
'kiwi_fsmountoptions': None,
'kiwi_hwclock': 'utc',
'kiwi_hybrid': None,
'kiwi_hybridpersistent_filesystem': None,
'kiwi_hybridpersistent': None,
'kiwi_iname': 'LimeJeOS-openSUSE-13.2',
'kiwi_installboot': None,
'kiwi_iversion': '1.13.2',
'kiwi_keytable': 'us.map.gz',
'kiwi_language': 'en_US',
'kiwi_loader_theme': 'openSUSE',
'kiwi_lvm': 'true',
'kiwi_lvmgroup': 'systemVG',
'kiwi_oemataraid_scan': None,
'kiwi_oembootwait': None,
'kiwi_oemdevicefilter': None,
'kiwi_oemnicfilter': None,
'kiwi_oemkboot': None,
'kiwi_oemmultipath_scan': None,
'kiwi_oempartition_install': None,
'kiwi_oemrebootinteractive': None,
'kiwi_oemreboot': None,
'kiwi_oemrecoveryID': None,
'kiwi_oemrecoveryInPlace': None,
'kiwi_oemrecovery': False,
'kiwi_oemrecoveryPartSize': None,
'kiwi_oemrootMB': 2048,
'kiwi_oemshutdowninteractive': None,
'kiwi_oemshutdown': None,
'kiwi_oemsilentboot': None,
'kiwi_oemsilentinstall': None,
'kiwi_oemsilentverify': None,
'kiwi_oemskipverify': None,
'kiwi_oemswapMB': None,
'kiwi_oemswap': 'true',
'kiwi_oemtitle': None,
'kiwi_oemunattended_id': None,
'kiwi_oemunattended': None,
'kiwi_oemvmcp_parmfile': None,
'kiwi_profiles': '',
'kiwi_ramonly': True,
'kiwi_initrd_system': None,
'kiwi_btrfs_root_is_snapshot': None,
'kiwi_gpt_hybrid_mbr': None,
'kiwi_showlicense': None,
'kiwi_splash_theme': 'openSUSE',
'kiwi_strip_delete': '',
'kiwi_strip_libs': '',
'kiwi_strip_tools': '',
'kiwi_target_blocksize': None,
'kiwi_timezone': 'Europe/Berlin',
'kiwi_type': 'oem',
'kiwi_vga': None,
'kiwi_wwid_wait_timeout': None,
'kiwi_xendomain': None
}
assert result == [
"kiwi_Volume_1='usr_lib|size:1024|usr/lib'",
"kiwi_Volume_2='LVRoot|freespace:500|'",
"kiwi_Volume_3='etc_volume|freespace:30|etc'",
"kiwi_Volume_4='bin_volume|size:all|/usr/bin'",
"kiwi_Volume_5='usr_bin|size:all|usr/bin'",
"kiwi_bootloader='grub2'",
"kiwi_cmdline='splash'",
"kiwi_displayname='LimeJeOS-openSUSE-13.2'",
"kiwi_firmware='efi'",
"kiwi_hwclock='utc'",
"kiwi_iname='LimeJeOS-openSUSE-13.2'",
"kiwi_iversion='1.13.2'",
"kiwi_keytable='us.map.gz'",
"kiwi_language='en_US'",
"kiwi_loader_theme='openSUSE'",
"kiwi_lvm='true'",
"kiwi_lvmgroup='systemVG'",
"kiwi_oemrootMB='2048'",
"kiwi_oemswap='true'",
"kiwi_ramonly='true'",
"kiwi_splash_theme='openSUSE'",
"kiwi_timezone='Europe/Berlin'",
"kiwi_type='oem'"
]
@patch('kiwi.system.profile.NamedTemporaryFile')
@patch('kiwi.path.Path.which')
def test_create_cpio(self, mock_which, mock_temp):
mock_which.return_value = 'cp'
mock_temp.return_value = self.tmpfile
description = XMLDescription('../data/example_dot_profile_config.xml')
profile = Profile(
XMLState(description.load(), None, 'cpio')
)
profile.create()
os.remove(self.tmpfile.name)
assert profile.dot_profile['kiwi_cpio_name'] == 'LimeJeOS-openSUSE-13.2'
def test_add(self):
self.profile.add('foo', 'bar')
assert self.profile.dot_profile['foo'] == 'bar'
def test_delete(self):
self.profile.add('foo', 'bar')
self.profile.delete('foo')
assert 'foo' not in self.profile.dot_profile