summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2014-10-16 16:30:22 +0200
committerLV-426 <lv-426@taproot.org.il>2014-10-16 16:30:22 +0200
commit3b3d3b5e91dac517627f1a080fffbff9a72b7e1a (patch)
tree36e5f9bbb2c1c59a4e8f369a3318c9338aae5f73
parentd3d8bd18bfbf2da267ea30f5625f092d24b21474 (diff)
DBO_attr_diff_commit on_completion response processing, test_attr_diff_commit() update
-rw-r--r--src-py/db_controller.py11
-rw-r--r--src-py/test_db_controller.py9
2 files changed, 15 insertions, 5 deletions
diff --git a/src-py/db_controller.py b/src-py/db_controller.py
index f4bfbb75..2c18427c 100644
--- a/src-py/db_controller.py
+++ b/src-py/db_controller.py
@@ -141,14 +141,19 @@ class DBO_attr_diff_commit(DB_op):
q = ("match (n {id: {id}}) " +
"set n += {attr_set}" +
- "remove " + rm_attr_str +
- " return n.id, n")
+ "remove " + rm_attr_str + " " +
+ "return n.id, n")
q_param_set = {'id': id_attr,
'attr_set': n_attr_diff['attr_write']}
self.add_statement(q, q_param_set)
def on_completion(self, data):
- pass
+ ret = {}
+ for _, _, r_set in self:
+ for row in r_set:
+ n_id, n = [v for v in row] # we expect a [n_id, n] array
+ ret[n_id] = n
+ return ret
class DBO_add_node_set(DB_op):
def __init__(self, node_map):
diff --git a/src-py/test_db_controller.py b/src-py/test_db_controller.py
index edfd4a22..c7834749 100644
--- a/src-py/test_db_controller.py
+++ b/src-py/test_db_controller.py
@@ -211,8 +211,13 @@ class TestDBController(unittest.TestCase):
'attr_1': 'a'},
'attr_remove': ['attr_rm']}}
op = dbc.DBO_attr_diff_commit(attr_diff)
- n_set = self.db_ctl.exec_op(op)
- pass
+ n_map = self.db_ctl.exec_op(op)
+ self.assertEqual(len(n_map), 1)
+ n = n_map.get(n_id)
+ self.assertTrue(None != n)
+ self.assertTrue(None == n.get('attr_rm'))
+ self.assertTrue(None != n.get('attr_0'))
+ self.assertTrue(None != n.get('attr_1'))
def tearDown(self): pass