From 9afe9fcdfd0110bbae37fbc40e4619112a3f8b4e Mon Sep 17 00:00:00 2001 From: Jonas Pfefferle Date: Thu, 3 Jun 2021 10:32:55 +0200 Subject: [PATCH] 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 --- .../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 59ca12619b0..3babecf8273 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') -- 2.47.3