From d7fc26ab4e2cebe485647510119ea300d47db184 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Wed, 8 Nov 2017 12:49:31 -0500 Subject: [PATCH] ceph-volume tests.util add tests for OSDPath validator Signed-off-by: Alfredo Deza --- .../tests/util/test_arg_validators.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py b/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py index a280e9368fd..22b962b1d52 100644 --- a/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py +++ b/src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py @@ -1,5 +1,6 @@ import pytest import argparse +from ceph_volume import exceptions from ceph_volume.util import arg_validators @@ -26,3 +27,27 @@ class TestLVPath(object): 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) -- 2.39.5