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 @@ -1133,7 +1133,7 @@ metadata: JSON-encodable object Returns: - dict: same as args, plus an 'id' key. + an identifier of the provider """ provider = { 'name': provider_name, @@ -1144,7 +1144,7 @@ key = self._metadata_provider_key(provider) provider['id'] = key self._metadata_providers[key] = provider - return provider.copy() + return key def metadata_provider_get(self, provider_id, db=None, cur=None): """Get a metadata provider diff --git a/swh/storage/storage.py b/swh/storage/storage.py --- a/swh/storage/storage.py +++ b/swh/storage/storage.py @@ -1386,7 +1386,7 @@ metadata: JSON-encodable object Returns: - dict: same as args, plus an 'id' key. + int: an identifier of the provider """ return db.metadata_provider_add(provider_name, provider_type, provider_url, metadata, cur) 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 @@ -1821,7 +1821,7 @@ # given origin_id = self.storage.origin_add([self.origin])[0]['id'] origin_id2 = self.storage.origin_add([self.origin2])[0]['id'] - self.storage.metadata_provider_add( + provider1_id = self.storage.metadata_provider_add( self.provider['name'], self.provider['type'], self.provider['url'], @@ -1830,8 +1830,10 @@ 'provider_name': self.provider['name'], 'provider_url': self.provider['url'] }) + self.assertEqual(provider1, + self.storage.metadata_provider_get(provider1_id)) - self.storage.metadata_provider_add( + provider2_id = self.storage.metadata_provider_add( 'swMATH', 'registry', 'http://www.swmath.org/', @@ -1841,6 +1843,8 @@ 'provider_name': 'swMATH', 'provider_url': 'http://www.swmath.org/' }) + self.assertEqual(provider2, + self.storage.metadata_provider_get(provider2_id)) # using the only tool now inserted in the data.sql, but for this # provider should be a crawler tool (not yet implemented)