summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-py/db_controller.py18
-rw-r--r--src-py/test_db_controller.py14
2 files changed, 24 insertions, 8 deletions
diff --git a/src-py/db_controller.py b/src-py/db_controller.py
index 8ca3a642..52913ac5 100644
--- a/src-py/db_controller.py
+++ b/src-py/db_controller.py
@@ -39,14 +39,16 @@ class DB_op(object):
return ret
def __iter__(self):
- # TODO impl
- pass
- # for k, v in self.id_to_statement_map:
- # yield {k, v, None}
-
- @property
- def statement_set(self):
- return self.id_to_statement_map.values()
+ """
+ iterate over (statement_index, statement, statement_result)
+ note: statement_index is zero based
+
+ TODO: support statement_result
+ """
+ i = 0
+ for s in self.statement_set:
+ yield (i, s, None)
+ i = i + 1
def extract_single_query_response_data(self, q, data):
"""
diff --git a/src-py/test_db_controller.py b/src-py/test_db_controller.py
index f64c47ce..f7092e6d 100644
--- a/src-py/test_db_controller.py
+++ b/src-py/test_db_controller.py
@@ -29,6 +29,20 @@ class TestDBController(unittest.TestCase):
def setUp(self):
pass
+ def test_db_op_statement_iter(self):
+ s_arr = ['match (n) return n',
+ 'create (b:Book {\'title\': \'foo\'}) return b']
+
+ db_op = dbc.DB_op()
+ db_op.add_statement(s_arr[0])
+ db_op.add_statement(s_arr[1])
+
+ i = 0
+ for s in db_op:
+ # access: second tuple item -> REST-form 'statement' key
+ self.assertEqual(s_arr[i], s[1]['statement'])
+ i = i + 1
+
def test_load_node_set_by_attribute(self):
filter_map = { 'name': ['Bob', u'Judo'],
'age': [128] }