|
@@ -353,20 +353,34 @@ class TestMultiConfigData(unittest.TestCase):
|
|
module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
|
|
module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec2.spec")
|
|
self.mcd.set_specification(module_spec)
|
|
self.mcd.set_specification(module_spec)
|
|
self.mcd.set_value("Spec2/item1", 2)
|
|
self.mcd.set_value("Spec2/item1", 2)
|
|
- value,status = self.mcd.get_value("Spec2/item1")
|
|
+
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item1")
|
|
self.assertEqual(2, value)
|
|
self.assertEqual(2, value)
|
|
self.assertEqual(MultiConfigData.LOCAL, status)
|
|
self.assertEqual(MultiConfigData.LOCAL, status)
|
|
- value,status = self.mcd.get_value("Spec2/item2")
|
|
+
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item2")
|
|
self.assertEqual(1.1, value)
|
|
self.assertEqual(1.1, value)
|
|
self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
|
|
+
|
|
self.mcd._current_config = { "Spec2": { "item3": False } }
|
|
self.mcd._current_config = { "Spec2": { "item3": False } }
|
|
- value,status = self.mcd.get_value("Spec2/item3")
|
|
+
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item3")
|
|
self.assertEqual(False, value)
|
|
self.assertEqual(False, value)
|
|
self.assertEqual(MultiConfigData.CURRENT, status)
|
|
self.assertEqual(MultiConfigData.CURRENT, status)
|
|
- value,status = self.mcd.get_value("Spec2/no_such_item")
|
|
+
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/no_such_item")
|
|
self.assertEqual(None, value)
|
|
self.assertEqual(None, value)
|
|
self.assertEqual(MultiConfigData.NONE, status)
|
|
self.assertEqual(MultiConfigData.NONE, status)
|
|
|
|
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item5[0]")
|
|
|
|
+ self.assertEqual("a", value)
|
|
|
|
+ self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
|
|
+
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item5[0]", False)
|
|
|
|
+ self.assertEqual(None, value)
|
|
|
|
+ self.assertEqual(MultiConfigData.NONE, status)
|
|
|
|
+
|
|
|
|
+
|
|
def test_get_value_maps(self):
|
|
def test_get_value_maps(self):
|
|
maps = self.mcd.get_value_maps()
|
|
maps = self.mcd.get_value_maps()
|
|
self.assertEqual([], maps)
|
|
self.assertEqual([], maps)
|
|
@@ -390,29 +404,29 @@ class TestMultiConfigData(unittest.TestCase):
|
|
self.mcd.set_value("Spec2/item3", False)
|
|
self.mcd.set_value("Spec2/item3", False)
|
|
maps = self.mcd.get_value_maps("/Spec2")
|
|
maps = self.mcd.get_value_maps("/Spec2")
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False},
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False},
|
|
- {'default': False, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
+ {'default': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
- {'default': False, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
+ {'default': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
- {'default': False, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
+ {'default': True, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
- {'default': False, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
+ {'default': True, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("Spec2")
|
|
maps = self.mcd.get_value_maps("Spec2")
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False},
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False},
|
|
- {'default': False, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
+ {'default': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
- {'default': False, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
+ {'default': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
- {'default': False, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
+ {'default': True, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
- {'default': False, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
+ {'default': True, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item5")
|
|
maps = self.mcd.get_value_maps("/Spec2/item5")
|
|
self.assertEqual([{'default': False, 'type': 'string', 'name': 'list_element', 'value': 'a', 'modified': False},
|
|
self.assertEqual([{'default': False, 'type': 'string', 'name': 'list_element', 'value': 'a', 'modified': False},
|
|
{'default': False, 'type': 'string', 'name': 'list_element', 'value': 'b', 'modified': False}], maps)
|
|
{'default': False, 'type': 'string', 'name': 'list_element', 'value': 'b', 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item1")
|
|
maps = self.mcd.get_value_maps("/Spec2/item1")
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False}], maps)
|
|
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'item1', 'value': 2, 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item2")
|
|
maps = self.mcd.get_value_maps("/Spec2/item2")
|
|
- self.assertEqual([{'default': False, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False}], maps)
|
|
+ self.assertEqual([{'default': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item3")
|
|
maps = self.mcd.get_value_maps("/Spec2/item3")
|
|
self.assertEqual([{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True}], maps)
|
|
self.assertEqual([{'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item4")
|
|
maps = self.mcd.get_value_maps("/Spec2/item4")
|
|
- self.assertEqual([{'default': False, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False}], maps)
|
|
+ self.assertEqual([{'default': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False}], maps)
|
|
|
|
|
|
module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec24.spec")
|
|
module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec24.spec")
|
|
self.mcd.set_specification(module_spec)
|
|
self.mcd.set_specification(module_spec)
|
|
@@ -429,7 +443,19 @@ class TestMultiConfigData(unittest.TestCase):
|
|
self.mcd.set_specification(module_spec)
|
|
self.mcd.set_specification(module_spec)
|
|
self.mcd.set_value("Spec2/item1", 2)
|
|
self.mcd.set_value("Spec2/item1", 2)
|
|
self.assertRaises(isc.cc.data.DataTypeError, self.mcd.set_value, "Spec2/item1", "asdf")
|
|
self.assertRaises(isc.cc.data.DataTypeError, self.mcd.set_value, "Spec2/item1", "asdf")
|
|
|
|
+
|
|
self.mcd.set_value("Spec2/no_such_item", 4)
|
|
self.mcd.set_value("Spec2/no_such_item", 4)
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/no_such_item")
|
|
|
|
+ self.assertEqual(value, 4)
|
|
|
|
+ self.assertEqual(MultiConfigData.LOCAL, status)
|
|
|
|
+
|
|
|
|
+ self.mcd.set_value("Spec2/item5[0]", "c")
|
|
|
|
+ value, status = self.mcd.get_value("Spec2/item5[0]")
|
|
|
|
+ self.assertEqual(value, "c")
|
|
|
|
+ self.assertEqual(MultiConfigData.LOCAL, status)
|
|
|
|
+
|
|
|
|
+ self.assertRaises(isc.cc.data.DataTypeError, self.mcd.set_value, "Spec2/item5[a]", "asdf")
|
|
|
|
+
|
|
|
|
|
|
def test_get_config_item_list(self):
|
|
def test_get_config_item_list(self):
|
|
config_items = self.mcd.get_config_item_list()
|
|
config_items = self.mcd.get_config_item_list()
|