kiwi-el8/test/unit/utils/rpm_test.py
David Cassany 4b3a105026
Re-structure unit tests folders
This commit relocates unit tests to a folder structure that matches
the source code structure.

Fixes #1128
2019-10-21 14:00:05 +02:00

93 lines
2.9 KiB
Python

import os
from mock import (
patch, Mock, call, mock_open
)
from kiwi.utils.rpm import Rpm
from kiwi.defaults import Defaults
class TestRpm:
def setup(self):
self.rpm_host = Rpm()
self.rpm_image = Rpm('root_dir')
self.macro_file = os.sep.join(
[
Defaults.get_custom_rpm_macros_path(),
Defaults.get_custom_rpm_bootstrap_macro_name()
]
)
@patch('kiwi.utils.rpm.Command.run')
def test_expand_query(self, mock_Command_run):
self.rpm_host.expand_query('foo')
mock_Command_run.assert_called_once_with(
['rpm', '-E', 'foo']
)
mock_Command_run.reset_mock()
self.rpm_image.expand_query('foo')
mock_Command_run.assert_called_once_with(
['chroot', 'root_dir', 'rpm', '-E', 'foo']
)
@patch('kiwi.utils.rpm.Command.run')
def test_get_query(self, mock_Command_run):
rpmdb_call = Mock()
rpmdb_call.output = '%_dbpath %{_usr}/lib/sysimage/rpm'
mock_Command_run.return_value = rpmdb_call
assert self.rpm_host.get_query('_dbpath') == \
'%{_usr}/lib/sysimage/rpm'
mock_Command_run.assert_called_once_with(
['rpmdb', '--showrc']
)
mock_Command_run.reset_mock()
assert self.rpm_image.get_query('_dbpath') == \
'%{_usr}/lib/sysimage/rpm'
mock_Command_run.assert_called_once_with(
['chroot', 'root_dir', 'rpmdb', '--showrc']
)
def test_set_config_value(self):
self.rpm_host.set_config_value('key', 'value')
assert self.rpm_host.custom_config[0] == '%key\tvalue'
@patch('kiwi.utils.rpm.Path.wipe')
def test_wipe_config(self, mock_Path_wipe):
self.rpm_host.wipe_config()
mock_Path_wipe.assert_called_once_with(
os.sep + self.macro_file
)
mock_Path_wipe.reset_mock()
self.rpm_image.wipe_config()
mock_Path_wipe.assert_called_once_with(
os.sep.join(['root_dir', self.macro_file])
)
@patch('kiwi.utils.rpm.Path.create')
def test_write_config(self, mock_Path_create):
self.rpm_host.set_config_value('key', 'value')
m_open = mock_open()
with patch('builtins.open', m_open, create=True):
self.rpm_host.write_config()
m_open.assert_called_once_with(
os.sep + self.macro_file, 'w'
)
assert m_open.return_value.write.call_args_list == [
call('%key\tvalue\n')
]
self.rpm_image.set_config_value('foo', 'bar')
m_open.reset_mock()
with patch('builtins.open', m_open, create=True):
self.rpm_image.write_config()
m_open.assert_called_once_with(
os.sep.join(['root_dir', self.macro_file]), 'w'
)
assert m_open.return_value.write.call_args_list == [
call('%foo\tbar\n')
]