diff --git a/swh/lister/pubdev/lister.py b/swh/lister/pubdev/lister.py --- a/swh/lister/pubdev/lister.py +++ b/swh/lister/pubdev/lister.py @@ -28,9 +28,10 @@ VISIT_TYPE = "pubdev" INSTANCE = "pubdev" - BASE_URL = "https://pub.dev/api/" - PACKAGE_NAMES_URL_PATTERN = "{base_url}package-names" - PACKAGE_INFO_URL_PATTERN = "{base_url}packages/{pkgname}" + BASE_URL = "https://pub.dev/" + PACKAGE_NAMES_URL_PATTERN = "{base_url}api/package-names" + PACKAGE_INFO_URL_PATTERN = "{base_url}api/packages/{pkgname}" + ORIGIN_URL_PATTERN = "{base_url}packages/{pkgname}" def __init__( self, @@ -89,12 +90,12 @@ assert self.lister_obj.id is not None for pkgname in page: - url = self.PACKAGE_INFO_URL_PATTERN.format( + origin_url = self.ORIGIN_URL_PATTERN.format( base_url=self.url, pkgname=pkgname ) yield ListedOrigin( lister_id=self.lister_obj.id, visit_type=self.VISIT_TYPE, - url=url, + url=origin_url, last_update=None, ) diff --git a/swh/lister/pubdev/tests/data/https_pub.dev/api_package-names b/swh/lister/pubdev/tests/data/https_pub.dev/api_package-names --- a/swh/lister/pubdev/tests/data/https_pub.dev/api_package-names +++ b/swh/lister/pubdev/tests/data/https_pub.dev/api_package-names @@ -1 +1,7 @@ -{"packages":["Autolinker","pdf"],"nextUrl":null} +{ + "packages": [ + "Autolinker", + "Babylon" + ], + "nextUrl": null +} \ No newline at end of file diff --git a/swh/lister/pubdev/tests/test_lister.py b/swh/lister/pubdev/tests/test_lister.py --- a/swh/lister/pubdev/tests/test_lister.py +++ b/swh/lister/pubdev/tests/test_lister.py @@ -2,16 +2,13 @@ # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information + from swh.lister.pubdev.lister import PubDevLister -expected_origins = [ - { - "url": "https://pub.dev/api/packages/Autolinker", - }, - { - "url": "https://pub.dev/api/packages/pdf", - }, -] +expected_origins = { + "https://pub.dev/packages/Autolinker", + "https://pub.dev/packages/Babylon", +} def test_pubdev_lister(datadir, requests_mock_datadir, swh_scheduler): @@ -19,22 +16,12 @@ res = lister.run() assert res.pages == 1 - assert res.origins == 1 + 1 + assert res.origins == 2 scheduler_origins = swh_scheduler.get_listed_origins(lister.lister_obj.id).results assert len(scheduler_origins) == len(expected_origins) - assert { - ( - scheduled.visit_type, - scheduled.url, - ) - for scheduled in scheduler_origins - } == { - ( - "pubdev", - expected["url"], - ) - for expected in expected_origins - } + for origin in scheduler_origins: + assert origin.visit_type == "pubdev" + assert origin.url in expected_origins