diff options
author | 2016-06-06 16:12:36 +0800 | |
---|---|---|
committer | 2016-06-06 08:17:41 +0000 | |
commit | 34db68599c76b124c57d5ebd4d749e4829a57bea (patch) | |
tree | 3c0afadff523dab4e47f3a4fc5ba20eda32928fd /utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py | |
parent | cdf0e83b6697d2ff75ba30b567ead5bcfea0fa25 (diff) |
add unittest for 'last' query of results in testAPI
add 'last' related unittest in test_result.py
implement sort()&limit() in fake_pymongo.py
refactor 'sort' model in result_handlers.py
JIRA: FUNCTEST-296
Change-Id: Ib5371f1df67f170e3ba26c6da27a651e34f2b0d6
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py')
-rw-r--r-- | utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py b/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py index 9b4d1208c..ef9c719be 100644 --- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py +++ b/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py @@ -8,6 +8,7 @@ ############################################################################## from bson.objectid import ObjectId from concurrent.futures import ThreadPoolExecutor +from operator import itemgetter def thread_execute(method, *args, **kwargs): @@ -20,6 +21,7 @@ class MemCursor(object): def __init__(self, collection): self.collection = collection self.count = len(self.collection) + self.sorted = [] def _is_next_exist(self): return self.count != 0 @@ -32,10 +34,22 @@ class MemCursor(object): self.count -= 1 return self.collection.pop() - def sort(self, key_or_list, direction=None): + def sort(self, key_or_list): + key = key_or_list[0][0] + if key_or_list[0][1] == -1: + reverse = True + else: + reverse = False + + if key_or_list is not None: + self.collection = sorted(self.collection, + key=itemgetter(key), reverse=reverse) return self def limit(self, limit): + if limit != 0 and limit < len(self.collection): + self.collection = self.collection[0:limit] + self.count = limit return self |