diff options
| -rw-r--r-- | src-py/db_controller.py | 11 | ||||
| -rw-r--r-- | src-py/test_db_controller.py | 9 |
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 |
