47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
from pytest import raises
|
|
from unittest.mock import (
|
|
patch, Mock
|
|
)
|
|
|
|
from kiwi.oci_tools import OCI
|
|
|
|
from kiwi.exceptions import (
|
|
KiwiOCIArchiveToolError
|
|
)
|
|
|
|
|
|
class TestOCI:
|
|
def setup(self):
|
|
self.runtime_config = Mock()
|
|
self.runtime_config.get_oci_archive_tool = Mock()
|
|
|
|
def setup_method(self, cls):
|
|
self.setup()
|
|
|
|
@patch('kiwi.oci_tools.umoci.OCIUmoci')
|
|
@patch('kiwi.oci_tools.RuntimeConfig')
|
|
def test_oci_tool_umoci(
|
|
self, mock_RuntimeConfig, mock_OCIUmoci
|
|
):
|
|
self.runtime_config.get_oci_archive_tool.return_value = 'umoci'
|
|
mock_RuntimeConfig.return_value = self.runtime_config
|
|
OCI.new()
|
|
mock_OCIUmoci.assert_called_once_with()
|
|
|
|
@patch('kiwi.oci_tools.buildah.OCIBuildah')
|
|
@patch('kiwi.oci_tools.RuntimeConfig')
|
|
def test_oci_tool_buildah(
|
|
self, mock_RuntimeConfig, mock_OCIBuildah
|
|
):
|
|
self.runtime_config.get_oci_archive_tool.return_value = 'buildah'
|
|
mock_RuntimeConfig.return_value = self.runtime_config
|
|
OCI.new()
|
|
mock_OCIBuildah.assert_called_once_with()
|
|
|
|
@patch('kiwi.oci_tools.RuntimeConfig')
|
|
def test_oci_tool_not_supported(self, mock_RuntimeConfig):
|
|
self.runtime_config.get_oci_archive_tool.return_value = 'foo'
|
|
mock_RuntimeConfig.return_value = self.runtime_config
|
|
with raises(KiwiOCIArchiveToolError):
|
|
OCI.new()
|