+++ /dev/null
-import pytest
-import argparse
-from ceph_volume import exceptions
-from ceph_volume.util import arg_validators
-
-
-invalid_lv_paths = [
- '', 'lv_name', '/lv_name', 'lv_name/',
- '/dev/lv_group/lv_name'
-]
-
-
-class TestLVPath(object):
-
- def setup(self):
- self.validator = arg_validators.LVPath()
-
- @pytest.mark.parametrize('path', invalid_lv_paths)
- def test_no_slash_is_an_error(self, path):
- with pytest.raises(argparse.ArgumentError):
- self.validator(path)
-
- def test_is_valid(self):
- path = 'vg/lv'
- assert self.validator(path) == path
-
- def test_abspath_is_valid(self):
- path = '/'
- assert self.validator(path) == path
-
-
-class TestOSDPath(object):
-
- def setup(self):
- self.validator = arg_validators.OSDPath()
-
- def test_is_not_root(self):
- with pytest.raises(exceptions.SuperUserError):
- self.validator('')
-
- def test_path_is_not_a_directory(self, is_root, tmpfile, monkeypatch):
- monkeypatch.setattr(arg_validators.disk, 'is_partition', lambda x: False)
- validator = arg_validators.OSDPath()
- with pytest.raises(argparse.ArgumentError):
- validator(tmpfile())
-
- def test_files_are_missing(self, is_root, tmpdir, monkeypatch):
- tmppath = str(tmpdir)
- monkeypatch.setattr(arg_validators.disk, 'is_partition', lambda x: False)
- validator = arg_validators.OSDPath()
- with pytest.raises(argparse.ArgumentError) as error:
- validator(tmppath)
- assert 'Required file (ceph_fsid) was not found in OSD' in str(error)