Page MenuHomeSoftware Heritage

D1377.id4452.diff
No OneTemporary

D1377.id4452.diff

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
@@ -618,7 +618,8 @@
if rel['id'] not in self._releases:
rel = copy.deepcopy(rel)
rel['date'] = normalize_timestamp(rel['date'])
- self._person_add(rel['author'])
+ if rel['author']:
+ self._person_add(rel['author'])
self._objects[rel['id']].append(
('release', rel['id']))
self._releases[rel['id']] = rel
diff --git a/swh/storage/sql/40-swh-func.sql b/swh/storage/sql/40-swh-func.sql
--- a/swh/storage/sql/40-swh-func.sql
+++ b/swh/storage/sql/40-swh-func.sql
@@ -660,6 +660,7 @@
begin
with t as (
select distinct author_fullname as fullname, author_name as name, author_email as email from tmp_release
+ where author_fullname is not null
) insert into person (fullname, name, email)
select fullname, name, email from t
where not exists (
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
@@ -1110,6 +1110,20 @@
actual_result = self.storage.release_add([self.release, self.release2])
self.assertEqual(actual_result, {'release:add': 0})
+ def test_release_add_no_author_date(self):
+ release = self.release.copy()
+ release['author'] = None
+ release['date'] = None
+
+ actual_result = self.storage.release_add([release])
+ self.assertEqual(actual_result, {'release:add': 1})
+
+ end_missing = self.storage.release_missing([self.release['id']])
+ self.assertEqual([], list(end_missing))
+
+ self.assertEqual(list(self.journal_writer.objects),
+ [('release', release)])
+
def test_release_get(self):
# given
self.storage.release_add([self.release, self.release2])

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 17, 5:01 PM (15 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3223319

Event Timeline