From adf8c178214e79dcc18b5d222b9db276b0d2f032 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 --- .../tests/util/test_arg_validators.py | 27 +++++++++++++++++++ 1 file changed, 27 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 d4565ef4dcb5c..6666f318b4ffc 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 @@ -87,3 +87,30 @@ class TestValidDevice(object): def test_path_is_invalid(self, fake_call): with pytest.raises(argparse.ArgumentError): self.validator('/device/does/not/exist') + + +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.39.5