diff --git a/swh/model/hypothesis_strategies.py b/swh/model/hypothesis_strategies.py --- a/swh/model/hypothesis_strategies.py +++ b/swh/model/hypothesis_strategies.py @@ -153,7 +153,7 @@ return draw(builds( SkippedContent, - length=optional(integers(min_value=0, max_value=2**63-1)), + length=integers(min_value=-1, max_value=2**63-1), sha1=optional(sha1()), sha1_git=optional(sha1_git()), sha256=optional(binary(min_size=32, max_size=32)), diff --git a/swh/model/model.py b/swh/model/model.py --- a/swh/model/model.py +++ b/swh/model/model.py @@ -406,7 +406,7 @@ @length.validator def check_length(self, attribute, value): """Checks the length is positive.""" - if self.status != 'absent' and value < 0: + if value < 0: raise ValueError('Length must be positive.') def to_dict(self): @@ -427,7 +427,7 @@ sha256 = attr.ib(type=Optional[bytes]) blake2s256 = attr.ib(type=Optional[bytes]) - length = attr.ib(type=Optional[int]) + length = attr.ib(type=int) status = attr.ib( type=str, @@ -451,7 +451,7 @@ @length.validator def check_length(self, attribute, value): """Checks the length is positive or -1.""" - if value is not None and value < -1: + if value < -1: raise ValueError('Length must be positive or -1.') def to_dict(self):