from cStringIO import StringIO
from textwrap import dedent
+import pytest
from mock import Mock, patch
from ceph_deploy import conf
from ceph_deploy.tests import fakes
assert cfg.get_default_repo() is False
+truthy_values = ['yes', 'true', 'on']
+falsy_values = ['no', 'false', 'off']
+
+
class TestSetOverrides(object):
def setup(self):
self.conf.items = Mock(return_value=(('bar', 1),))
arg_obj = conf.cephdeploy.set_overrides(self.args, self.conf)
assert arg_obj.bar == 1
+
+ @pytest.mark.parametrize('value', truthy_values)
+ def test_override_truthy_values(self, value):
+ self.conf.sections = Mock(
+ return_value=['ceph-deploy-global', 'ceph-deploy-install']
+ )
+ self.conf.items = Mock(return_value=(('bar', value),))
+ arg_obj = conf.cephdeploy.set_overrides(self.args, self.conf)
+ assert arg_obj.bar is True
+
+ @pytest.mark.parametrize('value', falsy_values)
+ def test_override_falsy_values(self, value):
+ self.conf.sections = Mock(
+ return_value=['ceph-deploy-global', 'ceph-deploy-install']
+ )
+ self.conf.items = Mock(return_value=(('bar', value),))
+ arg_obj = conf.cephdeploy.set_overrides(self.args, self.conf)
+ assert arg_obj.bar is False