summaryrefslogtreecommitdiffstats
path: root/result_collection_api/resources/testcase_models.py
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-05-20 18:00:52 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-05-20 18:11:04 +0800
commitf03b81b31c2ff407839d3119deaf9024252bdb6f (patch)
tree2f6c41f2eb73b4104f05f9ed3781c675e88910e5 /result_collection_api/resources/testcase_models.py
parentc28a4ce4ae7fcff3bf1fca65d4bc9ef6e6a1a270 (diff)
add unittests for testcase and refactor testcase related implementation
modification: add unittests for testcase refactor testcase table name in db to testcases refactor response body fix some bugs JIRA:FUNCTEST-254 Change-Id: Ia7c7101fa742af82bfc8c4a3d398a7dad601bca1 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'result_collection_api/resources/testcase_models.py')
-rw-r--r--result_collection_api/resources/testcase_models.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/result_collection_api/resources/testcase_models.py b/result_collection_api/resources/testcase_models.py
new file mode 100644
index 0000000..a9ba41a
--- /dev/null
+++ b/result_collection_api/resources/testcase_models.py
@@ -0,0 +1,88 @@
+class TestcaseCreateRequest(object):
+ def __init__(self, url=None, name=None, description=None):
+ self.name = name
+ self.url = url
+ self.description = description
+
+ def format(self):
+ return {
+ "name": self.name,
+ "description": self.description,
+ "url": self.url,
+ }
+
+
+class TestcaseUpdateRequest(object):
+ def __init__(self, name=None, description=None, project_name=None):
+ self.name = name
+ self.description = description
+ self.project_name = project_name
+
+ def format(self):
+ return {
+ "name": self.name,
+ "description": self.description,
+ "project_name": self.project_name,
+ }
+
+
+class Testcase:
+ """ Describes a test case"""
+
+ def __init__(self):
+ self._id = None
+ self.name = None
+ self.project_name = None
+ self.description = None
+ self.url = None
+ self.creation_date = None
+
+ @staticmethod
+ def from_dict(a_dict):
+
+ if a_dict is None:
+ return None
+
+ t = Testcase()
+ t._id = a_dict.get('_id')
+ t.project_name = a_dict.get('project_name')
+ t.creation_date = a_dict.get('creation_date')
+ t.name = a_dict.get('name')
+ t.description = a_dict.get('description')
+ t.url = a_dict.get('url')
+
+ return t
+
+ def format(self):
+ return {
+ "name": self.name,
+ "description": self.description,
+ "project_name": self.project_name,
+ "creation_date": str(self.creation_date),
+ "url": self.url
+ }
+
+ def format_http(self):
+ return {
+ "_id": str(self._id),
+ "name": self.name,
+ "project_name": self.project_name,
+ "description": self.description,
+ "creation_date": str(self.creation_date),
+ "url": self.url,
+ }
+
+
+class Testcases(object):
+ def __init__(self, testcases=list()):
+ self.testcases = testcases
+
+ @staticmethod
+ def from_dict(res_dict):
+ if res_dict is None:
+ return None
+
+ res = Testcases()
+ for testcase in res_dict.get('testcases'):
+ res.testcases.append(Testcase.from_dict(testcase))
+ return res