You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB
Python

'''
Tests the ZPoolCli class, non destructive version.
'''
from unittest.mock import patch
import pytest
from simplezfs.zpool_cli import ZPoolCli
class TestZPoolCli:
@patch('shutil.which')
def test_init_noparam(self, which):
which.return_value = '/bin/true'
ZPoolCli()
##########################################################################
@patch('shutil.which')
def test_find_executable_parameter(self, which):
which.return_value = None
zpool = ZPoolCli(zpool_exe='asdf')
assert zpool.executable == 'asdf'
@patch('shutil.which')
def test_find_executable_path(self, which):
which.return_value = 'test_return'
zpool = ZPoolCli()
assert zpool.executable == 'test_return'
@patch('shutil.which')
def test_find_executable_path_fail(self, which):
which.return_value = None
with pytest.raises(OSError) as excinfo:
ZPoolCli()
assert 'not find executable' in str(excinfo.value)
##########################################################################
@pytest.mark.parametrize('data,expected', [('-', None), (None, None), ('asdf', 'asdf')])
def test_dash_to_none(self, data, expected):
assert ZPoolCli.dash_to_none(data) == expected
##########################################################################
##########################################################################
##########################################################################