kiwi-el8/test/unit/cli_task_test.py
Marcus Schäfer 40e6308aa9 Port application from python 2.7 to 3.4
For new applications like this kiwi version and its use cases
it is better to base it on a more recent python version
2016-02-17 22:38:38 +01:00

58 lines
1.8 KiB
Python

import sys
import mock
from nose.tools import *
from mock import patch
import logging
from . import nose_helper
import inspect
from kiwi.cli_task import CliTask
from kiwi.exceptions import *
import kiwi.xml_parse
class TestCliTask(object):
@patch('os.path.isfile')
@patch('configparser.ConfigParser.has_section')
@patch('kiwi.logger.log.setLogLevel')
@patch('kiwi.logger.log.set_logfile')
@patch('kiwi.cli.Cli.show_and_exit_on_help_request')
def setup(
self, mock_help, mock_setlog, mock_setlevel, mock_section, mock_isfile
):
sys.argv = [
sys.argv[0],
'--debug',
'--logfile', 'log',
'--profile', 'vmxFlavour',
'system',
'prepare',
'--description', 'description',
'--root', 'directory'
]
self.task = CliTask()
mock_help.assert_called_once_with()
mock_setlevel.assert_called_once_with(logging.DEBUG)
mock_setlog.assert_called_once_with('log')
def test_quadruple_token(self):
assert self.task.quadruple_token('a,b') == ['a', 'b', None, None]
def test_load_xml_description(self):
self.task.load_xml_description('../data/description')
assert self.task.config_file == '../data/description/config.xml'
assert isinstance(self.task.xml_data, kiwi.xml_parse.image)
assert self.task.xml_state.profiles == ['vmxFlavour']
def test_load_xml_description_buildservice(self):
self.task.load_xml_description('../data/description.buildservice')
assert self.task.config_file == \
'../data/description.buildservice/appliance.kiwi'
@raises(KiwiConfigFileNotFound)
def test_load_xml_description_raises(self):
self.task.load_xml_description('foo')