diff --git a/swh/model/hypothesis_strategies.py b/swh/model/hypothesis_strategies.py index e20f4ea114d097f0d728b3c672cabe698d3e219f..4393e9b2b40b017104a0b5fad79295e6825b545d 100644 --- a/swh/model/hypothesis_strategies.py +++ b/swh/model/hypothesis_strategies.py @@ -78,7 +78,9 @@ def origin_visits(): return builds( OriginVisit, visit=integers(0, 1000), - origin=origins()) + origin=origins(), + status=sampled_from(['ongoing', 'full', 'partial']), + type=pgsql_text()) @composite diff --git a/swh/model/model.py b/swh/model/model.py index f6277e463aebb7b3facba6479529c791d2643811..26a534d53f7d21fd13f08404d8717f6f1c09a85e 100644 --- a/swh/model/model.py +++ b/swh/model/model.py @@ -104,8 +104,16 @@ class OriginVisit(BaseModel): SWH loader.""" origin = attr.ib(type=Origin) date = attr.ib(type=datetime.datetime) + status = attr.ib( + type=str, + validator=attr.validators.in_(['ongoing', 'full', 'partial'])) + type = attr.ib(type=str) + snapshot = attr.ib(type=Sha1Git) + metadata = attr.ib(type=Optional[Dict[str, object]], + default=None) + visit = attr.ib(type=Optional[int], - validator=attr.validators.optional([])) + default=None) """Should not be set before calling 'origin_visit_add()'.""" def to_dict(self): @@ -126,7 +134,7 @@ class OriginVisit(BaseModel): date=(date if isinstance(date, datetime.datetime) else dateutil.parser.parse(date)), - visit=d.get('visit')) + **d) class TargetType(Enum):