Page MenuHomeSoftware Heritage

D3529.diff
No OneTemporary

D3529.diff

diff --git a/swh/storage/pytest_plugin.py b/swh/storage/pytest_plugin.py
--- a/swh/storage/pytest_plugin.py
+++ b/swh/storage/pytest_plugin.py
@@ -21,6 +21,7 @@
Content,
Directory,
Origin,
+ OriginVisit,
Person,
Release,
Revision,
@@ -214,8 +215,9 @@
"directory": [data.dir2, data.dir],
"revision": [data.revision, data.revision2, data.revision3],
"release": [data.release, data.release2, data.release3],
- "snapshot": [data.snapshot],
+ "snapshot": [data.snapshot, data.empty_snapshot, data.complete_snapshot],
"origin": [data.origin, data.origin2],
+ "origin_visit": [data.origin_visit, data.origin_visit2, data.origin_visit3],
"fetcher": [data.metadata_fetcher],
"authority": [data.metadata_authority],
"origin_metadata": [data.origin_metadata, data.origin_metadata2],
@@ -234,6 +236,7 @@
"release": Release.from_dict,
"snapshot": Snapshot.from_dict,
"origin": Origin.from_dict,
+ "origin_visit": OriginVisit.from_dict,
}
diff --git a/swh/storage/tests/algos/test_snapshot.py b/swh/storage/tests/algos/test_snapshot.py
--- a/swh/storage/tests/algos/test_snapshot.py
+++ b/swh/storage/tests/algos/test_snapshot.py
@@ -8,13 +8,11 @@
from swh.model.collections import ImmutableDict
from swh.model.hypothesis_strategies import snapshots, branch_names, branch_targets
-from swh.model.model import Origin, OriginVisit, OriginVisitStatus, Snapshot
+from swh.model.model import OriginVisit, OriginVisitStatus, Snapshot
from swh.storage.algos.snapshot import snapshot_get_all_branches, snapshot_get_latest
from swh.storage.utils import now
-from swh.storage.tests.storage_data import data
-
@pytest.fixture
def swh_storage_backend_config():
@@ -26,11 +24,10 @@
@given(snapshot=snapshots(min_size=0, max_size=10, only_objects=False))
def test_snapshot_small(swh_storage, snapshot): # noqa
- snapshot = snapshot.to_dict()
swh_storage.snapshot_add([snapshot])
- returned_snapshot = snapshot_get_all_branches(swh_storage, snapshot["id"])
- assert snapshot == returned_snapshot
+ returned_snapshot = snapshot_get_all_branches(swh_storage, snapshot.id)
+ assert snapshot.to_dict() == returned_snapshot
@given(branch_name=branch_names(), branch_target=branch_targets(only_objects=True))
@@ -47,7 +44,7 @@
assert snapshot.to_dict() == returned_snapshot
-def test_snapshot_get_latest_none(swh_storage):
+def test_snapshot_get_latest_none(swh_storage, sample_data_model):
"""Retrieve latest snapshot on unknown origin or origin without snapshot should
yield no result
@@ -56,11 +53,12 @@
assert snapshot_get_latest(swh_storage, "unknown-origin") is None
# no snapshot on origin visit so None
- origin = Origin.from_dict(data.origin)
+ origin = sample_data_model["origin"][0]
swh_storage.origin_add_one(origin)
- swh_storage.origin_visit_add(
- [OriginVisit(origin=origin.url, date=data.date_visit1, type=data.type_visit1,)]
- )
+ origin_visit, origin_visit2 = sample_data_model["origin_visit"][:2]
+ assert origin_visit.origin == origin.url
+
+ swh_storage.origin_visit_add([origin_visit])
assert snapshot_get_latest(swh_storage, origin.url) is None
ov1 = swh_storage.origin_visit_get_latest(origin.url)
@@ -69,13 +67,13 @@
# visit references a snapshot but the snapshot does not exist in backend for some
# reason
- complete_snapshot = Snapshot.from_dict(data.complete_snapshot)
+ complete_snapshot = sample_data_model["snapshot"][2]
swh_storage.origin_visit_status_add(
[
OriginVisitStatus(
origin=origin.url,
visit=visit_id,
- date=data.date_visit2,
+ date=origin_visit2.date,
status="partial",
snapshot=complete_snapshot.id,
)
@@ -86,19 +84,19 @@
assert snapshot_get_latest(swh_storage, origin.url, branches_count=1) is None
-def test_snapshot_get_latest(swh_storage):
- origin = Origin.from_dict(data.origin)
+def test_snapshot_get_latest(swh_storage, sample_data_model):
+ origin = sample_data_model["origin"][0]
swh_storage.origin_add_one(origin)
- visit1 = OriginVisit(
- origin=origin.url, date=data.date_visit1, type=data.type_visit1,
- )
+ visit1, visit2 = sample_data_model["origin_visit"][:2]
+ assert visit1.origin == origin.url
+
swh_storage.origin_visit_add([visit1])
ov1 = swh_storage.origin_visit_get_latest(origin.url)
visit_id = ov1["visit"]
# Add snapshot to visit1, latest snapshot = visit 1 snapshot
- complete_snapshot = Snapshot.from_dict(data.complete_snapshot)
+ complete_snapshot = sample_data_model["snapshot"][2]
swh_storage.snapshot_add([complete_snapshot])
swh_storage.origin_visit_status_add(
@@ -106,13 +104,13 @@
OriginVisitStatus(
origin=origin.url,
visit=visit_id,
- date=data.date_visit2,
+ date=visit2.date,
status="partial",
snapshot=None,
)
]
)
- assert data.date_visit1 < data.date_visit2
+ assert visit1.date < visit2.date
# no snapshot associated to the visit, so None
actual_snapshot = snapshot_get_latest(
@@ -121,7 +119,7 @@
assert actual_snapshot is None
date_now = now()
- assert data.date_visit2 < date_now
+ assert visit2.date < date_now
swh_storage.origin_visit_status_add(
[
OriginVisitStatus(
@@ -135,7 +133,7 @@
)
swh_storage.origin_visit_add(
- [OriginVisit(origin=origin.url, date=now(), type=data.type_visit1,)]
+ [OriginVisit(origin=origin.url, date=now(), type=visit1.type,)]
)
actual_snapshot = snapshot_get_latest(swh_storage, origin.url)
diff --git a/swh/storage/tests/storage_data.py b/swh/storage/tests/storage_data.py
--- a/swh/storage/tests/storage_data.py
+++ b/swh/storage/tests/storage_data.py
@@ -366,6 +366,29 @@
date_visit3 = datetime.datetime(2018, 1, 1, 23, 0, 0, tzinfo=datetime.timezone.utc)
type_visit3 = "deb"
+origin_visit = {
+ "origin": origin["url"],
+ "visit": 1,
+ "date": date_visit1,
+ "type": type_visit1,
+}
+
+origin_visit2 = {
+ "origin": origin["url"],
+ "visit": 2,
+ "date": date_visit2,
+ "type": type_visit1,
+}
+
+origin_visit3 = {
+ "origin": origin2["url"],
+ "visit": 1,
+ "date": date_visit1,
+ "type": type_visit2,
+}
+
+origin_visits = [origin_visit, origin_visit2, origin_visit3]
+
release = {
"id": hash_to_bytes("a673e617fcc6234e29b2cad06b8245f96c415c61"),
"name": b"v0.0.1",
diff --git a/swh/storage/tests/test_pytest_plugin.py b/swh/storage/tests/test_pytest_plugin.py
--- a/swh/storage/tests/test_pytest_plugin.py
+++ b/swh/storage/tests/test_pytest_plugin.py
@@ -22,6 +22,7 @@
"release",
"snapshot",
"origin",
+ "origin_visit",
"fetcher",
"authority",
"origin_metadata",
@@ -48,6 +49,7 @@
"release",
"snapshot",
"origin",
+ "origin_visit",
]
)

File Metadata

Mime Type
text/plain
Expires
Dec 20 2024, 5:16 AM (11 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220260

Event Timeline