diff --git a/os_dpm/config/config.py b/os_dpm/config/config.py index c4847f2..811e2f5 100755 --- a/os_dpm/config/config.py +++ b/os_dpm/config/config.py @@ -14,6 +14,7 @@ from oslo_config import cfg +from os_dpm.config.cfg import DPMObjectIdOpt DPM_GROUP = cfg.OptGroup('dpm', title='DPM options', @@ -33,7 +34,7 @@ COMMON_DPM_OPTS = [ User name for connection to the HMC"""), cfg.StrOpt('hmc_password', secret=True, help=""" Password for connection to the HMC"""), - cfg.StrOpt('cpc_object_id', help=""" + DPMObjectIdOpt('cpc_object_id', help=""" DPM Object-id of the target CPC"""), ] diff --git a/os_dpm/tests/unit/config/test_config.py b/os_dpm/tests/unit/config/test_config.py index 5e5d501..6988abe 100644 --- a/os_dpm/tests/unit/config/test_config.py +++ b/os_dpm/tests/unit/config/test_config.py @@ -18,19 +18,41 @@ from oslo_config.fixture import Config from oslotest import base from os_dpm.config import config +from os_dpm.tests.unit.config.test_types import VALID_DPM_OBJECT_ID +from os_dpm.tests.unit.config.test_types import VALID_DPM_OBJECT_ID_UC class TestConfig(base.BaseTestCase): + def setUp(self): + super(TestConfig, self).setUp() + self.conf = Config() + def test_register_opts(self): - conf = Config() - conf.load_raw_values(group="dpm", hmc='host') - conf.load_raw_values(group="dpm", hmc_username='username') - conf.load_raw_values(group="dpm", hmc_password='password') - conf.load_raw_values(group="dpm", cpc_object_id='uuid') + self.conf.load_raw_values(group="dpm", hmc='host') + self.conf.load_raw_values(group="dpm", hmc_username='username') + self.conf.load_raw_values(group="dpm", hmc_password='password') + self.conf.load_raw_values(group="dpm", + cpc_object_id=VALID_DPM_OBJECT_ID) config.register_opts() self.assertEqual('host', cfg.CONF.dpm.hmc) self.assertEqual('username', cfg.CONF.dpm.hmc_username) self.assertEqual('password', cfg.CONF.dpm.hmc_password) - self.assertEqual('uuid', cfg.CONF.dpm.cpc_object_id) + self.assertEqual(VALID_DPM_OBJECT_ID, cfg.CONF.dpm.cpc_object_id) + + def test_register_opts_cpc_object_id_upper_case(self): + self.conf.load_raw_values(group="dpm", + cpc_object_id=VALID_DPM_OBJECT_ID_UC) + config.register_opts() + self.assertEqual(VALID_DPM_OBJECT_ID, cfg.CONF.dpm.cpc_object_id) + + def test_invalid_opt(self): + self.conf.load_raw_values(group="dpm", cpc_object_id="foo") + config.register_opts() + # self.assertRaises can only be used with method calls + try: + cfg.CONF.dpm.cpc_object_id + self.fail() + except ValueError: + pass