Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7123872
D3559.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
D3559.diff
View Options
diff --git a/swh/storage/tests/conftest.py b/swh/storage/tests/conftest.py
--- a/swh/storage/tests/conftest.py
+++ b/swh/storage/tests/conftest.py
@@ -13,8 +13,12 @@
except ImportError:
pytest_cov = None
+from typing import Iterable
+
+from swh.model.model import BaseContent
from swh.model.tests.generate_testdata import gen_contents, gen_origins
from swh.storage import get_storage
+from swh.storage.interface import StorageInterface
# define tests profile. Full documentation is at:
# https://hypothesis.readthedocs.io/en/latest/settings.html#settings-profiles
@@ -51,10 +55,10 @@
@pytest.fixture
-def swh_contents(swh_storage):
- contents = gen_contents(n=20)
- swh_storage.content_add([c for c in contents if c["status"] != "absent"])
- swh_storage.skipped_content_add([c for c in contents if c["status"] == "absent"])
+def swh_contents(swh_storage: StorageInterface) -> Iterable[BaseContent]:
+ contents = [BaseContent.from_dict(c) for c in gen_contents(n=20)]
+ swh_storage.content_add([c for c in contents if c.status != "absent"])
+ swh_storage.skipped_content_add([c for c in contents if c.status == "absent"])
return contents
diff --git a/swh/storage/tests/test_storage.py b/swh/storage/tests/test_storage.py
--- a/swh/storage/tests/test_storage.py
+++ b/swh/storage/tests/test_storage.py
@@ -589,7 +589,7 @@
def test_content_get_partition(self, swh_storage, swh_contents):
"""content_get_partition paginates results if limit exceeded"""
- expected_contents = [c for c in swh_contents if c["status"] != "absent"]
+ expected_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
actual_contents = []
for i in range(16):
@@ -602,7 +602,7 @@
def test_content_get_partition_full(self, swh_storage, swh_contents):
"""content_get_partition for a single partition returns all available
contents"""
- expected_contents = [c for c in swh_contents if c["status"] != "absent"]
+ expected_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
actual_result = swh_storage.content_get_partition(0, 1)
assert actual_result["next_page_token"] is None
@@ -614,7 +614,7 @@
"""content_get_partition when at least one of the partitions is
empty"""
expected_contents = {
- cont["sha1"] for cont in swh_contents if cont["status"] != "absent"
+ cont.sha1 for cont in swh_contents if cont.status != "absent"
}
# nb_partitions = smallest power of 2 such that at least one of
# the partitions is empty
@@ -644,7 +644,7 @@
def test_generate_content_get_partition_pagination(self, swh_storage, swh_contents):
"""content_get_partition returns contents within range provided"""
- expected_contents = [c for c in swh_contents if c["status"] != "absent"]
+ expected_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
# retrieve contents
actual_contents = []
@@ -3724,7 +3724,7 @@
class TestStorageGeneratedData:
def test_generate_content_get(self, swh_storage, swh_contents):
- contents_with_data = [c for c in swh_contents if c["status"] != "absent"]
+ contents_with_data = [c.to_dict() for c in swh_contents if c.status != "absent"]
# input the list of sha1s we want from storage
get_sha1s = [c["sha1"] for c in contents_with_data]
@@ -3735,7 +3735,7 @@
def test_generate_content_get_metadata(self, swh_storage, swh_contents):
# input the list of sha1s we want from storage
- expected_contents = [c for c in swh_contents if c["status"] != "absent"]
+ expected_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
get_sha1s = [c["sha1"] for c in expected_contents]
# retrieve contents
@@ -3755,9 +3755,9 @@
def test_generate_content_get_range(self, swh_storage, swh_contents):
"""content_get_range returns complete range"""
- present_contents = [c for c in swh_contents if c["status"] != "absent"]
+ present_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
- get_sha1s = sorted([c["sha1"] for c in swh_contents if c["status"] != "absent"])
+ get_sha1s = sorted([c.sha1 for c in swh_contents if c.status != "absent"])
start = get_sha1s[2]
end = get_sha1s[-2]
actual_result = swh_storage.content_get_range(start, end)
@@ -3773,7 +3773,7 @@
def test_generate_content_get_range_full(self, swh_storage, swh_contents):
"""content_get_range for a full range returns all available contents"""
- present_contents = [c for c in swh_contents if c["status"] != "absent"]
+ present_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
start = b"0" * 40
end = b"f" * 40
@@ -3805,7 +3805,7 @@
def test_generate_content_get_range_no_limit(self, swh_storage, swh_contents):
"""content_get_range returns contents within range provided"""
# input the list of sha1s we want from storage
- get_sha1s = sorted([c["sha1"] for c in swh_contents if c["status"] != "absent"])
+ get_sha1s = sorted([c.sha1 for c in swh_contents if c.status != "absent"])
start = get_sha1s[0]
end = get_sha1s[-1]
@@ -3816,15 +3816,15 @@
assert actual_result["next"] is None
assert len(actual_contents) == len(get_sha1s)
- expected_contents = [c for c in swh_contents if c["status"] != "absent"]
+ expected_contents = [c.to_dict() for c in swh_contents if c.status != "absent"]
assert_contents_ok(expected_contents, actual_contents, ["sha1"])
def test_generate_content_get_range_limit(self, swh_storage, swh_contents):
"""content_get_range paginates results if limit exceeded"""
- contents_map = {c["sha1"]: c for c in swh_contents}
+ contents_map = {c.sha1: c.to_dict() for c in swh_contents}
# input the list of sha1s we want from storage
- get_sha1s = sorted([c["sha1"] for c in swh_contents if c["status"] != "absent"])
+ get_sha1s = sorted([c.sha1 for c in swh_contents if c.status != "absent"])
start = get_sha1s[0]
end = get_sha1s[-1]
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Dec 20 2024, 5:13 AM (11 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3216649
Attached To
D3559: test_storage: Make swh_contents fixture generate content model objects
Event Timeline
Log In to Comment