Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7123876
D3529.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
D3529.diff
View Options
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
Details
Attached
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
Attached To
D3529: algos.test_snapshot: Use model objects from sample_data_model
Event Timeline
Log In to Comment