summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2018-01-03 17:50:53 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2018-01-04 16:55:40 +0800
commit8dd0bcd2e98d283619d12c9734c126b19757f065 (patch)
tree1f546a920f7e7878b652440c576fc65499884ceb
parent4bef7e27562d23c0cbdd56adf1cdc419f55e6aa4 (diff)
simplify test_pod.py with eq
Change-Id: I1efd519f877d48499dcd98a420b90a1b5d4c488f Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r--testapi/opnfv_testapi/models/base_models.py22
-rw-r--r--testapi/opnfv_testapi/models/pod_models.py19
-rw-r--r--testapi/opnfv_testapi/tests/unit/handlers/test_base.py4
-rw-r--r--testapi/opnfv_testapi/tests/unit/handlers/test_pod.py37
4 files changed, 32 insertions, 50 deletions
diff --git a/testapi/opnfv_testapi/models/base_models.py b/testapi/opnfv_testapi/models/base_models.py
index cd437d9..efce0ad 100644
--- a/testapi/opnfv_testapi/models/base_models.py
+++ b/testapi/opnfv_testapi/models/base_models.py
@@ -24,7 +24,8 @@ class ModelBase(object):
def __eq__(self, other):
res = all(getattr(self, k) == getattr(other, k)
- for k in self.format().keys() if k != '_id')
+ for k in self.format().keys()
+ if k not in ['_id', 'creation_date'])
return res
def format(self):
@@ -41,15 +42,16 @@ class ModelBase(object):
attr_parser = cls.attr_parser()
t = cls()
for k, v in a_dict.iteritems():
- value = v
- if isinstance(v, dict) and k in attr_parser:
- value = attr_parser[k].from_dict(v)
- elif isinstance(v, list) and k in attr_parser:
- value = []
- for item in v:
- value.append(attr_parser[k].from_dict(item))
-
- t.__setattr__(k, value)
+ if k in t.__dict__:
+ value = v
+ if isinstance(v, dict) and k in attr_parser:
+ value = attr_parser[k].from_dict(v)
+ elif isinstance(v, list) and k in attr_parser:
+ value = []
+ for item in v:
+ value.append(attr_parser[k].from_dict(item))
+
+ t.__setattr__(k, value)
return t
diff --git a/testapi/opnfv_testapi/models/pod_models.py b/testapi/opnfv_testapi/models/pod_models.py
index 15c2833..0eddfcc 100644
--- a/testapi/opnfv_testapi/models/pod_models.py
+++ b/testapi/opnfv_testapi/models/pod_models.py
@@ -18,7 +18,7 @@ from opnfv_testapi.tornado_swagger import swagger
@swagger.model()
class PodCreateRequest(base_models.ModelBase):
- def __init__(self, name, mode='', details='', role=""):
+ def __init__(self, name='', mode='', details='', role=""):
self.name = name
self.mode = mode
self.details = details
@@ -26,17 +26,12 @@ class PodCreateRequest(base_models.ModelBase):
@swagger.model()
-class Pod(base_models.ModelBase):
- def __init__(self,
- name='', mode='', details='',
- role="", _id='', create_date='', owner=''):
- self.name = name
- self.mode = mode
- self.details = details
- self.role = role
- self._id = _id
- self.creation_date = create_date
- self.owner = owner
+class Pod(PodCreateRequest):
+ def __init__(self, **kwargs):
+ self._id = kwargs.pop('_id', '')
+ self.creation_date = kwargs.pop('creation_date', '')
+ self.owner = kwargs.pop('owner', '')
+ super(Pod, self).__init__(**kwargs)
@swagger.model()
diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_base.py b/testapi/opnfv_testapi/tests/unit/handlers/test_base.py
index c98ed69..6436b8b 100644
--- a/testapi/opnfv_testapi/tests/unit/handlers/test_base.py
+++ b/testapi/opnfv_testapi/tests/unit/handlers/test_base.py
@@ -36,14 +36,14 @@ class TestBase(testing.AsyncHTTPTestCase):
role='community-ci',
_id=str(ObjectId()),
owner='ValidUser',
- create_date=str(datetime.now()))
+ creation_date=str(datetime.now()))
self.pod_e = pod_models.Pod(name='zte-pod2',
mode='metal',
details='zte pod 2',
role='production-ci',
_id=str(ObjectId()),
owner='ValidUser',
- create_date=str(datetime.now()))
+ creation_date=str(datetime.now()))
self.project_e = project_models.Project(
name='functest',
description='functest test',
diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_pod.py b/testapi/opnfv_testapi/tests/unit/handlers/test_pod.py
index 95ed8ba..2818513 100644
--- a/testapi/opnfv_testapi/tests/unit/handlers/test_pod.py
+++ b/testapi/opnfv_testapi/tests/unit/handlers/test_pod.py
@@ -7,10 +7,9 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import httplib
-import unittest
from opnfv_testapi.common import message
-from opnfv_testapi.models import pod_models
+from opnfv_testapi.models import pod_models as pm
from opnfv_testapi.tests.unit import executor
from opnfv_testapi.tests.unit import fake_pymongo
from opnfv_testapi.tests.unit.handlers import test_base as base
@@ -19,26 +18,16 @@ from opnfv_testapi.tests.unit.handlers import test_base as base
class TestPodBase(base.TestBase):
def setUp(self):
super(TestPodBase, self).setUp()
- self.get_res = pod_models.Pod
- self.list_res = pod_models.Pods
+ self.get_res = pm.Pod
+ self.list_res = pm.Pods
self.basePath = '/api/v1/pods'
- self.req_d = pod_models.PodCreateRequest(name=self.pod_d.name,
- mode=self.pod_d.mode,
- details=self.pod_d.details,
- role=self.pod_d.role)
- self.req_e = pod_models.PodCreateRequest(name=self.pod_e.name,
- mode=self.pod_e.mode,
- details=self.pod_e.details,
- role=self.pod_e.role)
+ self.req_d = pm.PodCreateRequest.from_dict(self.pod_d.format())
+ self.req_e = pm.PodCreateRequest.from_dict(self.pod_e.format())
def assert_get_body(self, pod, req=None):
if not req:
req = self.req_d
- self.assertEqual(pod.owner, 'ValidUser')
- self.assertEqual(pod.name, req.name)
- self.assertEqual(pod.mode, req.mode)
- self.assertEqual(pod.details, req.details)
- self.assertEqual(pod.role, req.role)
+ self.assertEqual(pod, pm.Pod(owner='ValidUser', **req.format()))
self.assertIsNotNone(pod.creation_date)
self.assertIsNotNone(pod._id)
@@ -61,12 +50,12 @@ class TestPodCreate(TestPodBase):
@executor.mock_valid_lfid()
@executor.create(httplib.BAD_REQUEST, message.missing('name'))
def test_emptyName(self):
- return pod_models.PodCreateRequest('')
+ return pm.PodCreateRequest('')
@executor.mock_valid_lfid()
@executor.create(httplib.BAD_REQUEST, message.missing('name'))
def test_noneName(self):
- return pod_models.PodCreateRequest(None)
+ return pm.PodCreateRequest(None)
@executor.mock_valid_lfid()
@executor.create(httplib.OK, 'assert_create_body')
@@ -99,7 +88,7 @@ class TestPodGet(TestPodBase):
@executor.get(httplib.OK, 'assert_get_body')
def test_getOne(self):
- return self.pod_d.name
+ return self.req_d.name
@executor.get(httplib.OK, '_assert_list')
def test_list(self):
@@ -108,11 +97,7 @@ class TestPodGet(TestPodBase):
def _assert_list(self, body):
self.assertEqual(len(body.pods), 2)
for pod in body.pods:
- if self.pod_d.name == pod.name:
+ if self.req_d.name == pod.name:
self.assert_get_body(pod)
else:
- self.assert_get_body(pod, self.pod_e)
-
-
-if __name__ == '__main__':
- unittest.main()
+ self.assert_get_body(pod, self.req_e)