From: Jonas Pfefferle Date: Thu, 3 Jun 2021 08:32:55 +0000 (+0200) Subject: ceph-volume: data_allocate_fraction: arg_validators tests X-Git-Tag: v16.2.15~63^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9afe9fcdfd0110bbae37fbc40e4619112a3f8b4e;p=ceph.git ceph-volume: data_allocate_fraction: arg_validators tests Add tests for argument validator. Check for Nan, <=0.0 and > 1.0 Signed-off-by: Jonas Pfefferle (cherry picked from commit adf8c178214e79dcc18b5d222b9db276b0d2f032) Conflicts: src/ceph-volume/ceph_volume/tests/util/test_arg_validators.py --- 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 59ca12619b06..3babecf82730 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 @@ -336,3 +336,28 @@ class TestValidBatchDataDevice(object): ) self.validator.zap = False assert self.validator('/dev/foo') + +class TestValidFraction(object): + + def setup(self): + self.validator = arg_validators.ValidFraction() + + def test_fraction_is_valid(self, fake_call): + result = self.validator('0.8') + assert result == 0.8 + + def test_fraction_is_nan(self, fake_call): + with pytest.raises(argparse.ArgumentError): + self.validator('NaN') + + def test_fraction_is_negative(self, fake_call): + with pytest.raises(argparse.ArgumentError): + self.validator('-1.0') + + def test_fraction_is_zero(self, fake_call): + with pytest.raises(argparse.ArgumentError): + self.validator('0.0') + + def test_fraction_is_greater_one(self, fake_call): + with pytest.raises(argparse.ArgumentError): + self.validator('1.1')