kiwi-el8/test/unit/runtime_config_test.py
Marcus Schäfer dbf399a34c
Changed default value for bundler compression
If no compression is configured in the kiwi config file
the default was set to: False. However this lead to big
trouble on the obs side for images which has fixed
storage disk sizes configured, e.g Azure images which
requests 30G disk size per instance. Thus the default
for the bundler compression has changed to be: True
2019-01-31 10:28:53 +01:00

114 lines
4.2 KiB
Python

from mock import patch
from .test_helper import (
raises, patch_open
)
from kiwi.runtime_config import RuntimeConfig
from kiwi.exceptions import KiwiRuntimeConfigFormatError
from kiwi.defaults import Defaults
class TestRuntimeConfig(object):
def setup(self):
with patch.dict('os.environ', {'HOME': '../data'}):
self.runtime_config = RuntimeConfig()
@patch('os.path.exists')
@patch('yaml.load')
def test_reading_system_wide_config_file(self, mock_yaml, mock_exists):
exists_call_results = [True, False]
def os_path_exists(config):
return exists_call_results.pop()
mock_exists.side_effect = os_path_exists
with patch_open as mock_open:
self.runtime_config = RuntimeConfig()
mock_open.assert_called_once_with('/etc/kiwi.yml', 'r')
@raises(KiwiRuntimeConfigFormatError)
def test_invalid_yaml_format(self):
self.runtime_config.config_data = {'xz': None}
self.runtime_config.get_xz_options()
def test_get_xz_options(self):
assert self.runtime_config.get_xz_options() == ['-a', '-b', 'xxx']
def test_is_obs_public(self):
assert self.runtime_config.is_obs_public() is True
def test_is_bundle_compression_requested(self):
assert self.runtime_config.is_bundle_compression_requested() is True
def test_is_bundle_compression_requested_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.is_bundle_compression_requested() is True
def test_is_obs_public_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.is_obs_public() is True
def test_get_obs_download_server_url(self):
assert self.runtime_config.get_obs_download_server_url() == \
'http://example.com'
def test_get_obs_download_server_url_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.get_obs_download_server_url() == \
Defaults.get_obs_download_server_url()
def test_get_container_compression(self):
assert self.runtime_config.get_container_compression() is None
def test_get_container_compression_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.get_container_compression() == 'xz'
@patch.object(RuntimeConfig, '_get_attribute')
@patch('kiwi.logger.log.warning')
def test_get_container_compression_invalid(
self, mock_warning, mock_get_attribute
):
mock_get_attribute.return_value = 'foo'
assert self.runtime_config.get_container_compression() == 'xz'
mock_warning.assert_called_once_with(
'Skipping invalid container compression: foo'
)
@patch.object(RuntimeConfig, '_get_attribute')
def test_get_container_compression_xz(self, mock_get_attribute):
mock_get_attribute.return_value = 'xz'
assert self.runtime_config.get_container_compression() == 'xz'
def test_get_iso_tool_category(self):
assert self.runtime_config.get_iso_tool_category() == 'cdrtools'
def test_get_iso_tool_category_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.get_iso_tool_category() == 'xorriso'
@patch.object(RuntimeConfig, '_get_attribute')
@patch('kiwi.logger.log.warning')
def test_get_iso_tool_category_invalid(
self, mock_warning, mock_get_attribute
):
mock_get_attribute.return_value = 'foo'
assert self.runtime_config.get_iso_tool_category() == 'xorriso'
mock_warning.assert_called_once_with(
'Skipping invalid iso tool category: foo'
)
def test_get_oci_archive_tool(self):
assert self.runtime_config.get_oci_archive_tool() == 'umoci'
def test_get_oci_archive_tool_default(self):
with patch.dict('os.environ', {'HOME': './'}):
runtime_config = RuntimeConfig()
assert runtime_config.get_oci_archive_tool() == 'umoci'