diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2018-01-03 17:50:53 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2018-01-04 16:55:40 +0800 |
commit | 8dd0bcd2e98d283619d12c9734c126b19757f065 (patch) | |
tree | 1f546a920f7e7878b652440c576fc65499884ceb /testapi/opnfv_testapi/models | |
parent | 4bef7e27562d23c0cbdd56adf1cdc419f55e6aa4 (diff) |
simplify test_pod.py with eq
Change-Id: I1efd519f877d48499dcd98a420b90a1b5d4c488f
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'testapi/opnfv_testapi/models')
-rw-r--r-- | testapi/opnfv_testapi/models/base_models.py | 22 | ||||
-rw-r--r-- | testapi/opnfv_testapi/models/pod_models.py | 19 |
2 files changed, 19 insertions, 22 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() |