idx_storage = <swh.indexer.storage.in_memory.IndexerStorage object at 0x7f90c5bd8cc0>
storage = <swh.storage.in_memory.InMemoryStorage object at 0x7f90c2707048>
obj_storage = <swh.objstorage.backends.in_memory.InMemoryObjStorage object at 0x7f90c0525e48>
def test_origin_metadata_indexer_delete_metadata(idx_storage, storage, obj_storage):
indexer = OriginMetadataIndexer(config=REVISION_METADATA_CONFIG)
origin = "https://github.com/librariesio/yarn-parser"
indexer.run([origin])
rev_id = REVISION.id
results = list(indexer.idx_storage.revision_intrinsic_metadata_get([rev_id]))
assert results != []
results = list(indexer.idx_storage.origin_intrinsic_metadata_get([origin]))
assert results != []
with patch("swh.indexer.metadata_dictionary.npm.NpmMapping.filename", b"foo.json"):
> indexer.run([origin])
.tox/py3/lib/python3.7/site-packages/swh/indexer/tests/test_origin_metadata.py:198:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/indexer/indexer.py:553: in run
summary_persist = self.persist_index_computations(results, policy_update)
.tox/py3/lib/python3.7/site-packages/swh/indexer/metadata.py:367: in persist_index_computations
origs_to_delete
.tox/py3/lib/python3.7/site-packages/swh/indexer/storage/in_memory.py:433: in origin_intrinsic_metadata_delete
deleted = self._origin_intrinsic_metadata.delete(entries)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <swh.indexer.storage.in_memory.SubStorage object at 0x7f90c273ccf8>
entries = [{'from_revision': b'\xc6 \x1c\xb1\xb9\xb9\xdf\x9auB\xf9f\\;]\xfa\xb8^\x97u', 'id': 'https://github.com/librariesio/yarn-parser', 'indexer_configuration_id': -8859073186504150682, 'mappings': [], ...}]
def delete(self, entries: List[Dict]) -> int:
"""Delete entries and return the number of entries deleted.
"""
deleted = 0
for entry in entries:
(id_, tool_id) = (entry["id"], entry["indexer_configuration_id"])
if tool_id in self._tools_per_id[id_]:
self._tools_per_id[id_].remove(tool_id)
if id_ in self._data:
key = _key_from_dict(entry)
> if key in self._data[id_]:
E TypeError: unhashable type: 'list'
.tox/py3/lib/python3.7/site-packages/swh/indexer/storage/in_memory.py:229: TypeError
TEST RESULT
TEST RESULT
- Run At
- Oct 1 2020, 6:16 PM