diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-05-25 09:50:08 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-05-25 09:50:08 +0000 |
commit | f41cc29366b2660ef7d9cb85be6b04b737526f45 (patch) | |
tree | b236264b26a1a037c59635227b5cce9fcd0f00e3 /utils/test/result_collection_api/tests/unit/test_base.py | |
parent | 345abdddd5d263b53e3104c1cb9f657515521f77 (diff) | |
parent | f4f8328db358131963b3fa9e81677bf570b8d0aa (diff) |
Merge "add test result/dashboard related unittests in testAPI and refactor its response"
Diffstat (limited to 'utils/test/result_collection_api/tests/unit/test_base.py')
-rw-r--r-- | utils/test/result_collection_api/tests/unit/test_base.py | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/utils/test/result_collection_api/tests/unit/test_base.py b/utils/test/result_collection_api/tests/unit/test_base.py index 57d863ca4..a06cba9fb 100644 --- a/utils/test/result_collection_api/tests/unit/test_base.py +++ b/utils/test/result_collection_api/tests/unit/test_base.py @@ -50,24 +50,18 @@ class TestBase(AsyncHTTPTestCase): return self.create(self.req_e, *args) def create(self, req=None, *args): + return self.create_help(self.basePath, req, *args) + + def create_help(self, uri, req, *args): if req: req = req.format() - - res = self.fetch(self._get_uri(*args), + res = self.fetch(self._update_uri(uri, *args), method='POST', body=json.dumps(req), headers=self.headers) return self._get_return(res, self.create_res) - def create_help(self, uri, req, cls): - res = self.fetch(uri, - method='POST', - body=json.dumps(req.format()), - headers=self.headers) - - return self._get_return(res, cls) - def get(self, *args): res = self.fetch(self._get_uri(*args), method='GET', @@ -75,9 +69,16 @@ class TestBase(AsyncHTTPTestCase): def inner(): new_args, num = self._get_valid_args(*args) - return self.get_res if num != self._need_arg_num() else self.list_res + return self.get_res \ + if num != self._need_arg_num(self.basePath) else self.list_res return self._get_return(res, inner()) + def query(self, query): + res = self.fetch(self._get_query_uri(query), + method='GET', + headers=self.headers) + return self._get_return(res, self.list_res) + def update(self, new=None, *args): if new: new = new.format() @@ -98,16 +99,22 @@ class TestBase(AsyncHTTPTestCase): new_args = tuple(['%s' % arg for arg in args if arg is not None]) return new_args, len(new_args) - def _need_arg_num(self): - return self.basePath.count('%s') + def _need_arg_num(self, uri): + return uri.count('%s') + + def _get_query_uri(self, query): + return self.basePath + '?' + query def _get_uri(self, *args): + return self._update_uri(self.basePath, *args) + + def _update_uri(self, uri, *args): + r_uri = uri new_args, num = self._get_valid_args(*args) - uri = self.basePath - if num != self._need_arg_num(): - uri += '/%s' + if num != self._need_arg_num(uri): + r_uri += '/%s' - return uri % tuple(['%s' % arg for arg in new_args]) + return r_uri % tuple(['%s' % arg for arg in new_args]) def _get_return(self, res, cls): code = res.code @@ -116,7 +123,10 @@ class TestBase(AsyncHTTPTestCase): @staticmethod def _get_return_body(code, body, cls): - return cls.from_dict(json.loads(body)) if code < 300 else body + return cls.from_dict(json.loads(body)) if code < 300 and cls else body + + def assert_href(self, body): + self.assertIn(self.basePath, body.href) def assert_create_body(self, body, req=None, *args): if not req: @@ -129,4 +139,4 @@ class TestBase(AsyncHTTPTestCase): fake_pymongo.pods.clear() fake_pymongo.projects.clear() fake_pymongo.testcases.clear() - fake_pymongo.test_results.clear() + fake_pymongo.results.clear() |