diff options
Diffstat (limited to 'utils/test/result_collection_api/resources')
3 files changed, 136 insertions, 33 deletions
diff --git a/utils/test/result_collection_api/resources/handlers.py b/utils/test/result_collection_api/resources/handlers.py index c1e8eb182..fff166237 100644 --- a/utils/test/result_collection_api/resources/handlers.py +++ b/utils/test/result_collection_api/resources/handlers.py @@ -13,7 +13,8 @@ from tornado.web import RequestHandler, asynchronous, HTTPError from tornado import gen from datetime import datetime, timedelta -from models import Pod, TestProject, TestCase, TestResult +from models import TestProject, TestCase, TestResult +from resources.pod_models import Pod from common.constants import DEFAULT_REPRESENTATION, HTTP_BAD_REQUEST, \ HTTP_NOT_FOUND, HTTP_FORBIDDEN from common.config import prepare_put_request diff --git a/utils/test/result_collection_api/resources/models.py b/utils/test/result_collection_api/resources/models.py index 06e95f94f..adf6842c3 100644 --- a/utils/test/result_collection_api/resources/models.py +++ b/utils/test/result_collection_api/resources/models.py @@ -5,47 +5,41 @@ # are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
+# feng.xiaowei@zte.com.cn mv Pod to pod_models.py 6-18-2016
+# feng.xiaowei@zte.com.cn add MetaCreateResponse/MetaGetResponse 6-18-2016
##############################################################################
-class Pod:
- """ describes a POD platform """
- def __init__(self):
- self._id = ""
- self.name = ""
- self.creation_date = ""
- self.mode = ""
- self.details = ""
+class MetaCreateResponse(object):
+ def __init__(self, success=True, uri=''):
+ self.success = success
+ self.uri = uri
@staticmethod
- def pod_from_dict(pod_dict):
- if pod_dict is None:
+ def from_dict(meta_dict):
+ if meta_dict is None:
return None
- p = Pod()
- p._id = pod_dict.get('_id')
- p.creation_date = str(pod_dict.get('creation_date'))
- p.name = pod_dict.get('name')
- p.mode = pod_dict.get('mode')
- p.details = pod_dict.get('details')
- return p
+ meta = MetaCreateResponse()
+ meta.success = meta_dict.get('success')
+ meta.uri = meta_dict.get('uri')
+ return meta
- def format(self):
- return {
- "name": self.name,
- "mode": self.mode,
- "details": self.details,
- "creation_date": str(self.creation_date),
- }
- def format_http(self):
- return {
- "_id": str(self._id),
- "name": self.name,
- "mode": self.mode,
- "details": self.details,
- "creation_date": str(self.creation_date),
- }
+class MetaGetResponse(object):
+ def __init__(self, success=True, total=0):
+ self.success = success
+ self.total = total
+
+ @staticmethod
+ def from_dict(meta_dict):
+ if meta_dict is None:
+ return None
+
+ meta = MetaGetResponse()
+ meta.success = meta_dict.get('success')
+ meta.total = meta_dict.get('total')
+ return meta
class TestProject:
diff --git a/utils/test/result_collection_api/resources/pod_models.py b/utils/test/result_collection_api/resources/pod_models.py new file mode 100644 index 000000000..5c4ef7221 --- /dev/null +++ b/utils/test/result_collection_api/resources/pod_models.py @@ -0,0 +1,108 @@ +from models import MetaCreateResponse, MetaGetResponse + + +class PodCreateRequest(object): + def __init__(self, name='', mode='', details=''): + self.name = name + self.mode = mode + self.details = details + + def format(self): + return { + "name": self.name, + "mode": self.mode, + "details": self.details, + } + + @staticmethod + def from_dict(req_dict): + if req_dict is None: + return None + + req = PodCreateRequest() + req.name = req_dict.get('name') + req.mode = req_dict.get('mode') + req.details = req_dict.get('details') + return req + + +class Pod(PodCreateRequest): + """ describes a POD platform """ + def __init__(self, name='', mode='', details='', _id='', create_date=''): + super(Pod, self).__init__(name, mode, details) + self._id = _id + self.creation_date = create_date + + @staticmethod + def pod_from_dict(pod_dict): + if pod_dict is None: + return None + + p = Pod() + p._id = pod_dict.get('_id') + p.creation_date = str(pod_dict.get('creation_date')) + p.name = pod_dict.get('name') + p.mode = pod_dict.get('mode') + p.details = pod_dict.get('details') + return p + + def format(self): + f = super(Pod, self).format() + f['creation_date'] = str(self.creation_date) + return f + + def format_http(self): + f = self.format() + f['_id'] = str(self._id) + return f + + +class PodCreateResponse(object): + def __init__(self, pod=None, meta=None): + self.pod = pod + self.meta = meta + + @staticmethod + def from_dict(res_dict): + if res_dict is None: + return None + + res = PodCreateResponse() + res.pod = Pod.pod_from_dict(res_dict.get('pod')) + res.meta = MetaCreateResponse.from_dict(res_dict.get('meta')) + return res + + +class PodGetResponse(PodCreateRequest): + def __init__(self, name='', mode='', details='', create_date=''): + self.creation_date = create_date + super(PodGetResponse, self).__init__(name, mode, details) + + @staticmethod + def from_dict(req_dict): + if req_dict is None: + return None + + res = PodGetResponse() + res.creation_date = str(req_dict.get('creation_date')) + res.name = req_dict.get('name') + res.mode = req_dict.get('mode') + res.details = req_dict.get('details') + return res + + +class PodsGetResponse(object): + def __init__(self, pods=[], meta=None): + self.pods = pods + self.meta = meta + + @staticmethod + def from_dict(res_dict): + if res_dict is None: + return None + + res = PodsGetResponse() + for pod in res_dict.get('pods'): + res.pods.append(PodGetResponse.from_dict(pod)) + res.meta = MetaGetResponse.from_dict(res_dict.get('meta')) + return res |