kiwi-el8/test/unit/system_root_import_base_test.py
Marcus Schäfer f278e8fe57
Added support for system wide config file
If there is no user specific config file we are also
looking for a system wide /etc/kiwi.yml file
2018-08-08 18:13:00 +02:00

47 lines
1.7 KiB
Python

from mock import patch, call
from .test_helper import raises
from kiwi.system.uri import Uri
from kiwi.system.root_import.base import RootImportBase
from kiwi.exceptions import KiwiRootImportError
class TestRootImportBase(object):
@patch('os.path.exists')
@patch('kiwi.system.uri.Defaults.is_buildservice_worker')
def test_init(self, mock_buildservice, mock_path):
mock_buildservice.return_value = False
mock_path.return_value = True
with patch.dict('os.environ', {'HOME': '../data'}):
RootImportBase('root_dir', Uri('file:///image.tar.xz'))
assert call('/image.tar.xz') in mock_path.call_args_list
@raises(KiwiRootImportError)
def test_init_remote_uri(self):
RootImportBase('root_dir', Uri('http://example.com/image.tar.xz'))
@patch('kiwi.system.root_import.base.log.warning')
def test_init_unknown_uri(self, mock_log_warn):
root = RootImportBase('root_dir', Uri('docker://opensuse:leap'))
assert root.unknown_uri == 'docker://opensuse:leap'
assert mock_log_warn.called
@patch('os.path.exists')
@raises(KiwiRootImportError)
def test_init_non_existing(self, mock_path):
mock_path.return_value = False
with patch.dict('os.environ', {'HOME': '../data'}):
RootImportBase('root_dir', Uri('file:///image.tar.xz'))
mock_path.assert_called_once_with('/image.tar.xz')
@raises(NotImplementedError)
@patch('os.path.exists')
def test_data_sync(self, mock_path):
mock_path.return_value = True
with patch.dict('os.environ', {'HOME': '../data'}):
root_import = RootImportBase(
'root_dir', Uri('file:///image.tar.xz')
)
root_import.sync_data()