sample_data = <swh.storage.tests.storage_data.StorageData object at 0x7fb5c4260898>
def test_buffer_operation_order(sample_data) -> None:
storage = get_storage_with_buffer_config()
# Wrap the inner storage in a mock to track all method calls.
storage.storage = mocked_storage = Mock(wraps=storage.storage)
# Simulate a loader: add contents, directories, revisions, releases, then
# snapshots.
storage.content_add(sample_data.contents)
storage.skipped_content_add(sample_data.skipped_contents)
storage.directory_add(sample_data.directories)
storage.revision_add(sample_data.revisions)
storage.release_add(sample_data.releases)
storage.snapshot_add(sample_data.snapshots)
# Check that nothing has been flushed yet
assert mocked_storage.method_calls == []
# Flush all the things
> storage.flush()
.tox/py3/lib/python3.7/site-packages/swh/storage/tests/test_buffer.py:599:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/storage/buffer.py:155: in flush
stats = add_fn(list(batch))
/usr/lib/python3.7/unittest/mock.py:960: in __call__
return _mock_self._mock_call(*args, **kwargs)
/usr/lib/python3.7/unittest/mock.py:1035: in _mock_call
return self._mock_wraps(*args, **kwargs)
.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