diff --git a/swh/journal/publisher.py b/swh/journal/publisher.py --- a/swh/journal/publisher.py +++ b/swh/journal/publisher.py @@ -138,6 +138,7 @@ 'revision': self.process_revisions, 'release': self.process_releases, 'snapshot': self.process_snapshots, + 'origin': self.process_origins, } return { @@ -175,6 +176,9 @@ metadata = self.storage.release_get((r[b'id'] for r in release_objs)) return [(release['id'], release) for release in metadata] + def process_origins(self, origin_objs): + return origin_objs + def process_snapshots(self, snapshot_objs): metadata = [] for snap in snapshot_objs: diff --git a/swh/journal/tests/test_publisher.py b/swh/journal/tests/test_publisher.py --- a/swh/journal/tests/test_publisher.py +++ b/swh/journal/tests/test_publisher.py @@ -67,6 +67,17 @@ }, ] +ORIGINS = [ + { + 'url': 'https://somewhere.org/den/fox', + 'type': 'git', + }, + { + 'url': 'https://overtherainbow.org/fox/den', + 'type': 'svn', + } +] + class JournalPublisherTest(SWHJournalPublisher): def parse_config_file(self): @@ -85,6 +96,7 @@ self.storage.content_add({'data': b'42', **c} for c in CONTENTS) self.storage.revision_add(REVISIONS) self.storage.release_add(RELEASES) + self.storage.origin_add(ORIGINS) def _prepare_journal(self, config): """No journal for now @@ -99,6 +111,7 @@ self.contents = [{b'sha1': c['sha1']} for c in CONTENTS] self.revisions = [{b'id': c['id']} for c in REVISIONS] self.releases = [{b'id': c['id']} for c in RELEASES] + self.origins = ORIGINS def test_process_contents(self): actual_contents = self.publisher.process_contents(self.contents) @@ -115,11 +128,17 @@ expected_releases = [(c['id'], c) for c in RELEASES] self.assertEqual(actual_releases, expected_releases) + def test_process_origins(self): + actual_releases = self.publisher.process_origins(self.origins) + expected_releases = self.origins + self.assertEqual(actual_releases, expected_releases) + def test_process_objects(self): messages = { 'content': self.contents, 'revision': self.revisions, 'release': self.releases, + 'origin': self.origins, } actual_objects = self.publisher.process_objects(messages) @@ -127,11 +146,13 @@ expected_contents = [(c['sha1'], c) for c in CONTENTS] expected_revisions = [(c['id'], c) for c in REVISIONS] expected_releases = [(c['id'], c) for c in RELEASES] + expected_origins = ORIGINS expected_objects = { 'content': expected_contents, 'revision': expected_revisions, 'release': expected_releases, + 'origin': expected_origins, } self.assertEqual(actual_objects, expected_objects)