diff --git a/swh/lister/cran/lister.py b/swh/lister/cran/lister.py --- a/swh/lister/cran/lister.py +++ b/swh/lister/cran/lister.py @@ -5,6 +5,7 @@ import json import logging import pkg_resources +from collections import defaultdict from swh.lister.cran.models import CRANModel @@ -17,6 +18,7 @@ MODEL = CRANModel LISTER_NAME = 'cran' instance = 'cran' + descriptions = defaultdict(dict) def task_dict(self, origin_type, origin_url, **kwargs): """Return task format dict @@ -26,7 +28,8 @@ """ return create_task_dict( 'load-%s' % origin_type, 'recurring', - kwargs.get('name'), origin_url, kwargs.get('version')) + kwargs.get('name'), origin_url, kwargs.get('version'), + project_metadata=self.descriptions[kwargs.get('name')]) def r_script_request(self): """Runs R script which uses inbuilt API to return a json @@ -65,6 +68,7 @@ """Transform from repository representation to model """ + self.descriptions[repo["Package"]] = repo['Description'] project_url = 'https://cran.r-project.org/src/contrib' \ '/%(Package)s_%(Version)s.tar.gz' % repo return { diff --git a/swh/lister/cran/tests/test_tasks.py b/swh/lister/cran/tests/test_tasks.py --- a/swh/lister/cran/tests/test_tasks.py +++ b/swh/lister/cran/tests/test_tasks.py @@ -25,3 +25,8 @@ lister.assert_called_once_with() lister.db_last_index.assert_not_called() lister.run.assert_called_once_with() + + with patch('swh.scheduler.utils.create_task_dict') as mock_create_tasks: + lister.run() + mock_create_tasks() + mock_create_tasks.assert_called_once_with()