|
@@ -691,6 +691,12 @@ class TestUIModuleCCSession(unittest.TestCase):
|
|
|
fake_conn.set_get_answer('/config_data', { 'version': BIND10_CONFIG_DATA_VERSION })
|
|
|
return UIModuleCCSession(fake_conn)
|
|
|
|
|
|
+ def create_uccs_named_map(self, fake_conn):
|
|
|
+ module_spec = isc.config.module_spec_from_file(self.spec_file("spec32.spec"))
|
|
|
+ fake_conn.set_get_answer('/module_spec', { module_spec.get_module_name(): module_spec.get_full_spec()})
|
|
|
+ fake_conn.set_get_answer('/config_data', { 'version': BIND10_CONFIG_DATA_VERSION })
|
|
|
+ return UIModuleCCSession(fake_conn)
|
|
|
+
|
|
|
def test_init(self):
|
|
|
fake_conn = fakeUIConn()
|
|
|
fake_conn.set_get_answer('/module_spec', {})
|
|
@@ -711,12 +717,14 @@ class TestUIModuleCCSession(unittest.TestCase):
|
|
|
def test_add_remove_value(self):
|
|
|
fake_conn = fakeUIConn()
|
|
|
uccs = self.create_uccs2(fake_conn)
|
|
|
+
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.add_value, 1, "a")
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.add_value, "no_such_item", "a")
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.add_value, "Spec2/item1", "a")
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.remove_value, 1, "a")
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.remove_value, "no_such_item", "a")
|
|
|
self.assertRaises(isc.cc.data.DataNotFoundError, uccs.remove_value, "Spec2/item1", "a")
|
|
|
+
|
|
|
self.assertEqual({}, uccs._local_changes)
|
|
|
uccs.add_value("Spec2/item5", "foo")
|
|
|
self.assertEqual({'Spec2': {'item5': ['a', 'b', 'foo']}}, uccs._local_changes)
|
|
@@ -726,11 +734,35 @@ class TestUIModuleCCSession(unittest.TestCase):
|
|
|
uccs.remove_value("Spec2/item5", "foo")
|
|
|
uccs.add_value("Spec2/item5", "foo")
|
|
|
self.assertEqual({'Spec2': {'item5': ['foo']}}, uccs._local_changes)
|
|
|
- uccs.add_value("Spec2/item5", "foo")
|
|
|
+ self.assertRaises(isc.cc.data.DataAlreadyPresentError,
|
|
|
+ uccs.add_value, "Spec2/item5", "foo")
|
|
|
self.assertEqual({'Spec2': {'item5': ['foo']}}, uccs._local_changes)
|
|
|
+ self.assertRaises(isc.cc.data.DataNotFoundError,
|
|
|
+ uccs.remove_value, "Spec2/item5[123]", None)
|
|
|
uccs.remove_value("Spec2/item5[0]", None)
|
|
|
self.assertEqual({'Spec2': {'item5': []}}, uccs._local_changes)
|
|
|
|
|
|
+ def test_add_remove_value_named_map(self):
|
|
|
+ fake_conn = fakeUIConn()
|
|
|
+ uccs = self.create_uccs_named_map(fake_conn)
|
|
|
+ value, status = uccs.get_value("/Spec32/named_map_item")
|
|
|
+ self.assertEqual({'a': 1, 'b': 2}, value)
|
|
|
+ uccs.add_value("/Spec32/named_map_item", "foo")
|
|
|
+ value, status = uccs.get_value("/Spec32/named_map_item")
|
|
|
+ self.assertEqual({'a': 1, 'b': 2, 'foo': 3}, value)
|
|
|
+ uccs.set_value("/Spec32/named_map_item/bar", 4)
|
|
|
+ value, status = uccs.get_value("/Spec32/named_map_item")
|
|
|
+ self.assertEqual({'a': 1, 'b': 2, 'foo': 3, 'bar': 4}, value)
|
|
|
+
|
|
|
+ uccs.remove_value("/Spec32/named_map_item", "a")
|
|
|
+ uccs.remove_value("/Spec32/named_map_item", "foo")
|
|
|
+ value, status = uccs.get_value("/Spec32/named_map_item")
|
|
|
+ self.assertEqual({'b': 2, 'bar': 4}, value)
|
|
|
+
|
|
|
+ self.assertRaises(isc.cc.data.DataNotFoundError,
|
|
|
+ uccs.remove_value, "/Spec32/named_map_item",
|
|
|
+ "no_such_item")
|
|
|
+
|
|
|
def test_commit(self):
|
|
|
fake_conn = fakeUIConn()
|
|
|
uccs = self.create_uccs2(fake_conn)
|