diff --git a/swh/storage/in_memory.py b/swh/storage/in_memory.py --- a/swh/storage/in_memory.py +++ b/swh/storage/in_memory.py @@ -921,11 +921,14 @@ 'directory', 'origin', 'origin_visit', + 'origin_metadata', 'person', 'release', 'revision', 'skipped_content', - 'snapshot' + 'snapshot', + 'tool', + 'metadata_provider' ) stats = {key: 0 for key in keys} stats.update(collections.Counter( @@ -951,7 +954,9 @@ 'metadata': metadata, 'provider_id': provider, } + self._origin_metadata[origin_url].append(origin_metadata) + self._objects[origin_url].append(("origin_metadata", origin_url)) return None def origin_metadata_get_by(self, origin_url, provider_type=None): @@ -977,6 +982,7 @@ if key not in self._tools: self._tools[key] = record inserted.append(copy.deepcopy(self._tools[key])) + self._objects[key].append(("tool", key)) return inserted @@ -993,7 +999,9 @@ } key = self._metadata_provider_key(provider) provider['id'] = key + self._metadata_providers[key] = provider + self._objects[key].append(("metadata_provider", provider['id'])) return key def metadata_provider_get(self, provider_id): 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 @@ -3019,6 +3019,9 @@ assert new_id == new_id2 assert actual_tool == actual_tool2 + swh_storage.refresh_stat_counters() + assert swh_storage.stat_counters()['tool'] == 2 + def test_tool_add_multiple(self, swh_storage): tool = { 'name': 'some-unknown-tool', @@ -3158,6 +3161,9 @@ # then assert n_actual_om == n_om + 2 + swh_storage.refresh_stat_counters() + assert swh_storage.stat_counters()['origin_metadata'] == 2 + def test_origin_metadata_get(self, swh_storage): # given origin_url = data.origin['url'] @@ -3249,6 +3255,9 @@ 'provider_url': 'http://www.swmath.org/'}) assert provider == swh_storage.metadata_provider_get(provider_id) + swh_storage.refresh_stat_counters() + assert swh_storage.stat_counters()['metadata_provider'] == 1 + def test_origin_metadata_get_by_provider_type(self, swh_storage): # given origin_url = data.origin['url']