Changeset View
Changeset View
Standalone View
Standalone View
swh/model/hypothesis_strategies.py
# Copyright (C) 2019-2020 The Software Heritage developers | # Copyright (C) 2019-2020 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import datetime | import datetime | ||||
import string | |||||
from hypothesis import assume | from hypothesis import assume | ||||
from hypothesis.extra.dateutil import timezones | from hypothesis.extra.dateutil import timezones | ||||
from hypothesis.strategies import ( | from hypothesis.strategies import ( | ||||
binary, | binary, | ||||
booleans, | booleans, | ||||
builds, | builds, | ||||
characters, | characters, | ||||
▲ Show 20 Lines • Show All 406 Lines • ▼ Show 20 Lines | def snapshots(*, min_size=0, max_size=100, only_objects=False): | ||||
).map(Snapshot.from_dict) | ).map(Snapshot.from_dict) | ||||
def metadata_authorities(): | def metadata_authorities(): | ||||
return builds(MetadataAuthority, url=urls(), metadata=just(None)) | return builds(MetadataAuthority, url=urls(), metadata=just(None)) | ||||
def metadata_fetchers(): | def metadata_fetchers(): | ||||
return builds(MetadataFetcher, metadata=just(None)) | return builds( | ||||
MetadataFetcher, | |||||
name=text(min_size=1, alphabet=string.printable), | |||||
version=text( | |||||
min_size=1, | |||||
alphabet=string.ascii_letters + string.digits + string.punctuation, | |||||
), | |||||
metadata=just(None), | |||||
) | |||||
def raw_extrinsic_metadata(): | def raw_extrinsic_metadata(): | ||||
return builds( | return builds( | ||||
RawExtrinsicMetadata, | RawExtrinsicMetadata, | ||||
target=extended_swhids(), | target=extended_swhids(), | ||||
discovery_date=aware_datetimes(), | discovery_date=aware_datetimes(), | ||||
authority=metadata_authorities(), | authority=metadata_authorities(), | ||||
fetcher=metadata_fetchers(), | fetcher=metadata_fetchers(), | ||||
format=text(min_size=1, alphabet=string.printable), | |||||
) | ) | ||||
def raw_extrinsic_metadata_d(): | def raw_extrinsic_metadata_d(): | ||||
return raw_extrinsic_metadata().map(RawExtrinsicMetadata.to_dict) | return raw_extrinsic_metadata().map(RawExtrinsicMetadata.to_dict) | ||||
def objects(blacklist_types=("origin_visit_status",), split_content=False): | def objects(blacklist_types=("origin_visit_status",), split_content=False): | ||||
▲ Show 20 Lines • Show All 64 Lines • Show Last 20 Lines |