kiwi-el8/test/unit/utils_command_capabilities_test.py
David Cassany Viladomat 02dc8e32e1
Update locale settings (#579)
* Use systemd-firstboot in order config basic settings

This commit updates locale and keyboard settings in order to make
use of the systemd tools, as this will be the only valid method starting
from SLE15.

Fixes #577

* Added CommandCapabilities utils class
2018-01-16 14:10:31 +01:00

44 lines
1.6 KiB
Python

from mock import patch
from mock import call
from collections import namedtuple
from kiwi.utils.command_capabilities import CommandCapabilities
class TestCommandCapabilities(object):
@patch('kiwi.command.Command.run')
def test_has_option_in_help(self, mock_run):
command_type = namedtuple('command', ['output'])
mock_run.return_value = command_type(
output="Dummy line\n\t--some-flag\n\t--some-other-flag"
)
assert CommandCapabilities.has_option_in_help('command', '--some-flag')
assert CommandCapabilities.has_option_in_help(
'command', '--some-flag', help_flags=['subcommand', '-h']
)
assert CommandCapabilities.has_option_in_help(
'command', '--some-other-flag',
help_flags=['subcommand', '-h'], root='root_dir'
)
assert not CommandCapabilities.has_option_in_help(
'command', '--non-existing-flag'
)
mock_run.assert_has_calls([
call(['command', '--help']),
call(['command', 'subcommand', '-h']),
call(['chroot', 'root_dir', 'command', 'subcommand', '-h']),
call(['command', '--help'])
])
@patch('kiwi.command.Command.run')
@patch('kiwi.logger.log.warning')
def test_has_option_in_help_command_failure(self, mock_warn, mock_run):
def side_effect():
raise Exception("Something went wrong")
mock_run.side_effect = side_effect
CommandCapabilities.has_option_in_help(
'command_that_fails', '--non-existing-flag'
)
assert mock_warn.called