kiwi-el8/test/unit/volume_manager/init_test.py
Marcus Schäfer 05f2d40836
Refactor VolumeManager
This commit refactors VolumeManager to turn it into a proper
factory class and to also include type hints to facilitate it's
use from an API POV. Related to #1498
2020-11-02 18:05:21 +01:00

33 lines
1.0 KiB
Python

from mock import (
patch, Mock
)
from pytest import raises
from kiwi.volume_manager import VolumeManager
from kiwi.exceptions import KiwiVolumeManagerSetupError
class TestVolumeManager:
def test_volume_manager_not_implemented(self):
with raises(KiwiVolumeManagerSetupError):
VolumeManager.new('foo', Mock(), 'root_dir', [Mock()])
@patch('kiwi.volume_manager.lvm.VolumeManagerLVM')
def test_volume_manager_lvm(self, mock_lvm):
device_map = Mock()
volumes = [Mock()]
VolumeManager.new('lvm', device_map, 'root_dir', volumes)
mock_lvm.assert_called_once_with(
device_map, 'root_dir', volumes, None
)
@patch('kiwi.volume_manager.btrfs.VolumeManagerBtrfs')
def test_volume_manager_btrfs(self, mock_btrfs):
device_map = Mock()
volumes = [Mock()]
VolumeManager.new('btrfs', device_map, 'root_dir', volumes)
mock_btrfs.assert_called_once_with(
device_map, 'root_dir', volumes, None
)