self = <swh.storage.tests.test_cassandra.TestCassandraStorage object at 0x7fb415561908>
swh_storage = <swh.storage.cassandra.storage.CassandraStorage object at 0x7fb4155613c8>
sample_data = <swh.storage.tests.storage_data.StorageData object at 0x7fb4123e2b00>
def test_stat_counters(self, swh_storage, sample_data):
origin = sample_data.origin
snapshot = sample_data.snapshot
revision = sample_data.revision
release = sample_data.release
directory = sample_data.directory
content = sample_data.content
expected_keys = ["content", "directory", "origin", "revision"]
# Initially, all counters are 0
swh_storage.refresh_stat_counters()
counters = swh_storage.stat_counters()
assert set(expected_keys) <= set(counters)
for key in expected_keys:
assert counters[key] == 0
# Add a content. Only the content counter should increase.
swh_storage.content_add([content])
swh_storage.refresh_stat_counters()
counters = swh_storage.stat_counters()
assert set(expected_keys) <= set(counters)
for key in expected_keys:
if key != "content":
assert counters[key] == 0
assert counters["content"] == 1
# Add other objects. Check their counter increased as well.
swh_storage.origin_add([origin])
visit = OriginVisit(
origin=origin.url,
date=sample_data.date_visit2,
type=sample_data.type_visit2,
)
origin_visit1 = swh_storage.origin_visit_add([visit])[0]
swh_storage.snapshot_add([snapshot])
swh_storage.origin_visit_status_add(
[
OriginVisitStatus(
origin=origin.url,
visit=origin_visit1.visit,
date=now(),
status="ongoing",
snapshot=snapshot.id,
)
]
)
swh_storage.directory_add([directory])
> swh_storage.revision_add([revision])
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/storage_tests.py:3497:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/storage/cassandra/storage.py:484: in revision_add
revisions = list(set(revisions))
<attrs generated hash swh.model.model.Revision>:15: in __hash__
self.extra_headers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = ImmutableDict({'checksums': {'sha1': 'tarball-sha1', 'sha256': 'tarball-sha256'}, 'signed-off-by': 'some-dude'})
def __hash__(self):
> return hash(tuple(sorted(self.data)))
E TypeError: unhashable type: 'dict'
.tox/py3/lib/python3.7/site-packages/swh/model/collections.py:49: TypeError
TEST RESULT
TEST RESULT
- Run At
- Apr 6 2021, 1:56 PM