kiwi-el8/test/unit/partitioner/init_test.py
Alexandre Detiste fb69627ad3
Use unittest.mock from core python everywhere
mock was an independent module that has been merged into the Python standard library.
2024-02-18 22:15:30 +01:00

51 lines
1.7 KiB
Python

import logging
from unittest.mock import (
patch, Mock
)
from pytest import (
raises, fixture
)
from kiwi.partitioner import Partitioner
from kiwi.exceptions import KiwiPartitionerSetupError
class TestPartitioner:
@fixture(autouse=True)
def inject_fixtures(self, caplog):
self._caplog = caplog
def test_partitioner_not_implemented(self):
with raises(KiwiPartitionerSetupError):
Partitioner.new('foo', Mock())
def test_partitioner_for_arch_not_implemented(self):
with raises(KiwiPartitionerSetupError):
Partitioner.new('foo', Mock())
@patch('kiwi.partitioner.gpt.PartitionerGpt')
def test_partitioner_gpt(self, mock_gpt):
storage_provider = Mock()
Partitioner.new('gpt', storage_provider)
mock_gpt.assert_called_once_with(storage_provider, None, False)
@patch('kiwi.partitioner.msdos.PartitionerMsDos')
def test_partitioner_msdos(self, mock_dos):
storage_provider = Mock()
Partitioner.new('msdos', storage_provider)
mock_dos.assert_called_once_with(storage_provider, None, False)
@patch('kiwi.partitioner.dasd.PartitionerDasd')
def test_partitioner_dasd(self, mock_dasd):
storage_provider = Mock()
Partitioner.new('dasd', storage_provider)
mock_dasd.assert_called_once_with(storage_provider, None, False)
@patch('kiwi.partitioner.dasd.PartitionerDasd')
def test_partitioner_dasd_with_custom_start_sector(self, mock_dasd):
storage_provider = Mock()
with self._caplog.at_level(logging.WARNING):
Partitioner.new('dasd', storage_provider, 4096)
mock_dasd.assert_called_once_with(storage_provider, None, False)