[svn] commit: r3970 - in /branches/trac384/src/lib/python/isc/config: config_data.py tests/config_data_test.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Dec 22 17:35:37 UTC 2010
Author: jelte
Date: Wed Dec 22 17:35:36 2010
New Revision: 3970
Log:
fix two tests, fix one bug (http://bind10.isc.org/ticket/384#comment:3)
Modified:
branches/trac384/src/lib/python/isc/config/config_data.py
branches/trac384/src/lib/python/isc/config/tests/config_data_test.py
Modified: branches/trac384/src/lib/python/isc/config/config_data.py
==============================================================================
--- branches/trac384/src/lib/python/isc/config/config_data.py (original)
+++ branches/trac384/src/lib/python/isc/config/config_data.py Wed Dec 22 17:35:36 2010
@@ -449,7 +449,17 @@
self._append_value_item(result, spec_part_list, "%s[%d]" % (identifier, i), all)
elif item_type == "map":
spec_part_map = spec_part['map_item_spec']
- self._append_value_item(result, spec_part_map, identifier, all)
+ value, status = self.get_value(identifier)
+ # if there are no contents, simply add the value
+ # as one empty element, otherwise append them
+ # individually
+ if value != {}:
+ self._append_value_item(result, spec_part_map, identifier, all)
+ else:
+ entry = _create_value_map_entry(identifier,
+ item_type,
+ {}, status)
+ result.append(entry)
else:
value, status = self.get_value(identifier)
entry = _create_value_map_entry(identifier,
Modified: branches/trac384/src/lib/python/isc/config/tests/config_data_test.py
==============================================================================
--- branches/trac384/src/lib/python/isc/config/tests/config_data_test.py (original)
+++ branches/trac384/src/lib/python/isc/config/tests/config_data_test.py Wed Dec 22 17:35:36 2010
@@ -423,6 +423,8 @@
self.mcd._set_current_config({ "Spec2": { "item1": 2 } })
self.mcd.set_value("Spec2/item3", False)
maps = self.mcd.get_value_maps("/Spec2")
+ print("[XX] MAPS:")
+ print(maps)
self.assertEqual([{'default': False, 'type': 'integer', 'name': 'Spec2/item1', 'value': 2, 'modified': False},
{'default': True, 'type': 'real', 'name': 'Spec2/item2', 'value': 1.1, 'modified': False},
{'default': False, 'type': 'boolean', 'name': 'Spec2/item3', 'value': False, 'modified': True},
@@ -437,8 +439,8 @@
{'default': True, 'type': 'list', 'name': 'Spec2/item5', 'value': ['a', 'b'], 'modified': False},
{'default': True, 'type': 'map', 'name': 'Spec2/item6', 'value': {}, 'modified': False}], maps)
maps = self.mcd.get_value_maps("/Spec2/item5")
- self.assertEqual([{'default': False, 'type': 'string', 'name': 'Spec2/item5[0]', 'value': 'a', 'modified': False},
- {'default': False, 'type': 'string', 'name': 'Spec2/item5[1]', 'value': 'b', 'modified': False}], maps)
+ self.assertEqual([{'default': True, 'type': 'string', 'name': 'Spec2/item5[0]', 'value': 'a', 'modified': False},
+ {'default': True, 'type': 'string', 'name': 'Spec2/item5[1]', 'value': 'b', 'modified': False}], maps)
maps = self.mcd.get_value_maps("/Spec2/item5[0]")
self.assertEqual([{'default': True, 'modified': False, 'name': 'Spec2/item5[0]', 'type': 'string', 'value': 'a'}], maps)
maps = self.mcd.get_value_maps("/Spec2/item1")
@@ -456,7 +458,7 @@
self.assertEqual([], maps)
self.mcd._set_current_config({ "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)
More information about the bind10-changes
mailing list