-import models
+from opnfv_testapi.resources import models
from opnfv_testapi.tornado_swagger import swagger
self.date = date
self.status = status
+ def __eq__(self, other):
+ return (self.date == other.date and
+ self.status == other.status)
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
@swagger.model()
class ScenarioScore(models.ModelBase):
self.date = date
self.score = score
+ def __eq__(self, other):
+ return (self.date == other.date and
+ self.score == other.score)
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
@swagger.model()
class ScenarioProject(models.ModelBase):
return {'scores': ScenarioScore,
'trust_indicators': ScenarioTI}
+ def __eq__(self, other):
+ return (self.project == other.project and
+ self._customs_eq(other) and
+ self._scores_eq(other) and
+ self._ti_eq(other))
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def _customs_eq(self, other):
+ return set(self.customs) == set(other.customs)
+
+ def _scores_eq(self, other):
+ return self.scores == other.scores
+
+ def _ti_eq(self, other):
+ return self.trust_indicators == other.trust_indicators
+
@swagger.model()
class ScenarioVersion(models.ModelBase):
@property projects:
@ptype projects: C{list} of L{ScenarioProject}
"""
- def __init__(self, version=None, projects=None):
+ def __init__(self, owner=None, version=None, projects=None):
+ self.owner = owner
self.version = version
self.projects = list_default(projects)
def attr_parser():
return {'projects': ScenarioProject}
+ def __eq__(self, other):
+ return (self.version == other.version and
+ self.owner == other.owner and
+ self._projects_eq(other))
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def _projects_eq(self, other):
+ for s_project in self.projects:
+ for o_project in other.projects:
+ if s_project.project == o_project.project:
+ if s_project != o_project:
+ return False
+
+ return True
+
@swagger.model()
class ScenarioInstaller(models.ModelBase):
def attr_parser():
return {'versions': ScenarioVersion}
+ def __eq__(self, other):
+ return (self.installer == other.installer and self._versions_eq(other))
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def _versions_eq(self, other):
+ for s_version in self.versions:
+ for o_version in other.versions:
+ if s_version.version == o_version.version:
+ if s_version != o_version:
+ return False
+
+ return True
+
@swagger.model()
class ScenarioCreateRequest(models.ModelBase):
return {'installers': ScenarioInstaller}
+@swagger.model()
+class ScenarioChangeOwnerRequest(models.ModelBase):
+ def __init__(self, owner=None):
+ self.owner = owner
+
+
@swagger.model()
class ScenarioUpdateRequest(models.ModelBase):
- """
- @property field: update field
- @property op: add/delete/update
- @property locate: information used to locate the field
- @property term: new value
- """
- def __init__(self, field=None, op=None, locate=None, term=None):
- self.field = field
- self.op = op
- self.locate = dict_default(locate)
- self.term = dict_default(term)
+ def __init__(self, name=None):
+ self.name = name
@swagger.model()
def attr_parser():
return {'installers': ScenarioInstaller}
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def __eq__(self, other):
+ return (self.name == other.name and self._installers_eq(other))
+
+ def _installers_eq(self, other):
+ for s_install in self.installers:
+ for o_install in other.installers:
+ if s_install.installer == o_install.installer:
+ if s_install != o_install:
+ return False
+
+ return True
+
@swagger.model()
class Scenarios(models.ModelBase):