|
@@ -358,6 +358,8 @@ class TestMultiConfigData(unittest.TestCase):
|
|
self.assertEqual(1, value)
|
|
self.assertEqual(1, value)
|
|
value = self.mcd.get_default_value("Spec2/item5[0]")
|
|
value = self.mcd.get_default_value("Spec2/item5[0]")
|
|
self.assertEqual('a', value)
|
|
self.assertEqual('a', value)
|
|
|
|
+ value = self.mcd.get_default_value("Spec2/item5[1]")
|
|
|
|
+ self.assertEqual('b', value)
|
|
value = self.mcd.get_default_value("Spec2/item5[5]")
|
|
value = self.mcd.get_default_value("Spec2/item5[5]")
|
|
self.assertEqual(None, value)
|
|
self.assertEqual(None, value)
|
|
value = self.mcd.get_default_value("Spec2/item5[0][1]")
|
|
value = self.mcd.get_default_value("Spec2/item5[0][1]")
|
|
@@ -392,6 +394,10 @@ class TestMultiConfigData(unittest.TestCase):
|
|
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")
|
|
|
|
+ self.assertEqual(['a', 'b'], value)
|
|
|
|
+ self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
|
|
+
|
|
value, status = self.mcd.get_value("Spec2/item5[0]")
|
|
value, status = self.mcd.get_value("Spec2/item5[0]")
|
|
self.assertEqual("a", value)
|
|
self.assertEqual("a", value)
|
|
self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
self.assertEqual(MultiConfigData.DEFAULT, status)
|
|
@@ -400,6 +406,11 @@ class TestMultiConfigData(unittest.TestCase):
|
|
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[1]")
|
|
|
|
+ self.assertEqual("b", value)
|
|
|
|
+ self.assertEqual(MultiConfigData.DEFAULT, 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()
|
|
@@ -423,32 +434,34 @@ class TestMultiConfigData(unittest.TestCase):
|
|
self.mcd._set_current_config({ "Spec2": { "item1": 2 } })
|
|
self.mcd._set_current_config({ "Spec2": { "item1": 2 } })
|
|
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': 'Spec2/item1', 'value': 2, 'modified': False},
|
|
- {'default': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
+ {'default': True, 'type': 'real', 'name': 'Spec2/item2', 'value': 1.1, 'modified': False},
|
|
- {'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
+ {'default': False, 'type': 'boolean', 'name': 'Spec2/item3', 'value': False, 'modified': True},
|
|
- {'default': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
+ {'default': True, 'type': 'string', 'name': 'Spec2/item4', 'value': 'test', 'modified': False},
|
|
- {'default': True, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
+ {'default': True, 'type': 'list', 'name': 'Spec2/item5', 'value': ['a', 'b'], 'modified': False},
|
|
- {'default': True, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
+ {'default': True, 'type': 'string', 'name': 'Spec2/item6/value1', 'value': 'default', 'modified': False},
|
|
|
|
+ {'default': False, 'type': 'integer', 'name': 'Spec2/item6/value2', 'value': None, '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': 'Spec2/item1', 'value': 2, 'modified': False},
|
|
- {'default': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False},
|
|
+ {'default': True, 'type': 'real', 'name': 'Spec2/item2', 'value': 1.1, 'modified': False},
|
|
- {'default': False, 'type': 'boolean', 'name': 'item3', 'value': False, 'modified': True},
|
|
+ {'default': False, 'type': 'boolean', 'name': 'Spec2/item3', 'value': False, 'modified': True},
|
|
- {'default': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False},
|
|
+ {'default': True, 'type': 'string', 'name': 'Spec2/item4', 'value': 'test', 'modified': False},
|
|
- {'default': True, 'type': 'list', 'name': 'item5', 'value': ['a', 'b'], 'modified': False},
|
|
+ {'default': True, 'type': 'list', 'name': 'Spec2/item5', 'value': ['a', 'b'], 'modified': False},
|
|
- {'default': True, 'type': 'map', 'name': 'item6', 'value': {}, 'modified': False}], maps)
|
|
+ {'default': True, 'type': 'string', 'name': 'Spec2/item6/value1', 'value': 'default', 'modified': False},
|
|
|
|
+ {'default': False, 'type': 'integer', 'name': 'Spec2/item6/value2', 'value': None, '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': True, 'type': 'string', 'name': 'Spec2/item5[0]', 'value': 'a', 'modified': False},
|
|
- {'default': False, 'type': 'string', 'name': 'list_element', 'value': 'b', 'modified': False}], maps)
|
|
+ {'default': True, 'type': 'string', 'name': 'Spec2/item5[1]', 'value': 'b', 'modified': False}], maps)
|
|
maps = self.mcd.get_value_maps("/Spec2/item5[0]")
|
|
maps = self.mcd.get_value_maps("/Spec2/item5[0]")
|
|
- self.assertEqual([{'default': True, 'modified': False, 'name': 'list_element', 'type': 'string', 'value': 'a'}], maps)
|
|
+ self.assertEqual([{'default': True, 'modified': False, 'name': 'Spec2/item5[0]', 'type': 'string', 'value': 'a'}], 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': 'Spec2/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': True, 'type': 'real', 'name': 'item2', 'value': 1.1, 'modified': False}], maps)
|
|
+ self.assertEqual([{'default': True, 'type': 'real', 'name': 'Spec2/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': 'Spec2/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': True, 'type': 'string', 'name': 'item4', 'value': 'test', 'modified': False}], maps)
|
|
+ self.assertEqual([{'default': True, 'type': 'string', 'name': 'Spec2/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)
|
|
@@ -456,9 +469,30 @@ class TestMultiConfigData(unittest.TestCase):
|
|
self.assertEqual([], maps)
|
|
self.assertEqual([], maps)
|
|
self.mcd._set_current_config({ "Spec24": { "item": [] } })
|
|
self.mcd._set_current_config({ "Spec24": { "item": [] } })
|
|
maps = self.mcd.get_value_maps("/Spec24/item")
|
|
maps = self.mcd.get_value_maps("/Spec24/item")
|
|
- self.assertEqual([], maps)
|
|
+ self.assertEqual([{'default': False, 'modified': False, 'name': 'Spec24/item', 'type': 'list', 'value': []}], maps)
|
|
-
|
|
|
|
|
|
|
|
|
|
+ module_spec = isc.config.module_spec_from_file(self.data_path + os.sep + "spec22.spec")
|
|
|
|
+ self.mcd.set_specification(module_spec)
|
|
|
|
+ expected = [{'default': True,
|
|
|
|
+ 'modified': False,
|
|
|
|
+ 'name': 'Spec22/value9/v91',
|
|
|
|
+ 'type': 'string',
|
|
|
|
+ 'value': 'def'},
|
|
|
|
+ {'default': True,
|
|
|
|
+ 'modified': False,
|
|
|
|
+ 'name': 'Spec22/value9/v92/v92a',
|
|
|
|
+ 'type': 'string',
|
|
|
|
+ 'value': 'Hello'
|
|
|
|
+ },
|
|
|
|
+ {'default': True,
|
|
|
|
+ 'modified': False,
|
|
|
|
+ 'name': 'Spec22/value9/v92/v92b',
|
|
|
|
+ 'type': 'integer',
|
|
|
|
+ 'value': 47806
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ maps = self.mcd.get_value_maps("/Spec22/value9")
|
|
|
|
+ self.assertEqual(expected, maps)
|
|
|
|
|
|
def test_set_value(self):
|
|
def test_set_value(self):
|
|
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")
|