def test_config_sections_defaults(self, mock_is_buildservice_worker, mock_Cli): cli = Mock() cli.get_global_args.return_value = {} mock_Cli.return_value = cli mock_is_buildservice_worker.return_value = True with patch.dict('os.environ', {'HOME': '../data/kiwi_config/defaults'}): runtime_config = RuntimeConfig(reread=True) assert runtime_config.get_bundle_compression(default=True) is True assert runtime_config.get_bundle_compression(default=False) is False assert runtime_config.is_obs_public() is True assert runtime_config.get_obs_download_server_url() == \ Defaults.get_obs_download_server_url() assert runtime_config.get_obs_api_server_url() == \ Defaults.get_obs_api_server_url() assert runtime_config.get_container_compression() == 'xz' assert runtime_config.get_iso_tool_category() == 'xorriso' assert runtime_config.get_oci_archive_tool() == 'umoci' assert runtime_config.get_package_changes() is False
def test_config_sections_from_home_base_config(self, mock_Cli): cli = Mock() cli.get_global_args.return_value = {} mock_Cli.return_value = cli with patch.dict('os.environ', {'HOME': '../data/kiwi_config/ok'}): runtime_config = RuntimeConfig(reread=True) assert runtime_config.get_xz_options() == ['-a', '-b', 'xxx'] assert runtime_config.is_obs_public() is True assert runtime_config.get_bundle_compression() is True assert runtime_config.get_obs_download_server_url() == \ 'http://example.com' assert runtime_config.get_obs_api_server_url() == \ 'https://api.example.com' assert runtime_config.get_container_compression() is None assert runtime_config.get_iso_tool_category() == 'cdrtools' assert runtime_config.get_oci_archive_tool() == 'umoci' assert runtime_config.get_package_changes() is True assert runtime_config.get_disabled_runtime_checks() == [ 'check_dracut_module_for_oem_install_in_package_list', 'check_container_tool_chain_installed' ]
def test_config_sections_from_home_base_config(self): with patch.dict('os.environ', {'HOME': '../data/kiwi_config/ok'}): runtime_config = RuntimeConfig(reread=True) assert runtime_config.get_xz_options() == ['-a', '-b', 'xxx'] assert runtime_config.is_obs_public() is True assert runtime_config.get_bundle_compression() is True assert runtime_config.get_obs_download_server_url() == \ 'http://example.com' assert runtime_config.get_obs_api_server_url() == \ 'https://api.example.com' assert runtime_config.get_container_compression() is False assert runtime_config.get_iso_tool_category() == 'xorriso' assert runtime_config.get_oci_archive_tool() == 'umoci' assert runtime_config.get_package_changes() is True assert runtime_config.get_disabled_runtime_checks() == [ 'check_dracut_module_for_oem_install_in_package_list', 'check_container_tool_chain_installed' ] assert runtime_config.get_obs_api_credentials() == [ {'user_name': 'user_credentials'} ]
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_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'
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'
class TestRuntimeConfig: def setup(self): with patch.dict('os.environ', {'HOME': '../data'}): self.runtime_config = RuntimeConfig() # pretend that none of the runtime config files exist, even if they do # (e.g. the system wide config file in /etc/kiwi.yml) # => this will give us the defaults with patch('os.path.exists', return_value=False): self.default_runtime_config = RuntimeConfig() @patch('os.path.exists') @patch('yaml.safe_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('builtins.open') as m_open: self.runtime_config = RuntimeConfig() m_open.assert_called_once_with('/etc/kiwi.yml', 'r') def test_invalid_yaml_format(self): self.runtime_config.config_data = {'xz': None} with raises(KiwiRuntimeConfigFormatError): 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_get_bundle_compression(self): assert self.runtime_config.get_bundle_compression() is True def test_get_bundle_compression_default(self): assert self.default_runtime_config.get_bundle_compression( default=True) is True assert self.default_runtime_config.get_bundle_compression( default=False) is False def test_is_obs_public_default(self): assert self.default_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): assert self.default_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): assert self.default_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): assert self.default_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): assert self.default_runtime_config.get_oci_archive_tool() == 'umoci' def test_get_disabled_runtime_checks(self): assert self.runtime_config.get_disabled_runtime_checks() == [ 'check_dracut_module_for_oem_install_in_package_list', 'check_container_tool_chain_installed' ]