def test_dist_get_direct_url_valid_metadata(): dist = MagicMock() dist.has_metadata.return_value = True dist.get_metadata.return_value = ( '{"url": "https://e.c/p.tgz", "archive_info": {}}') direct_url = dist_get_direct_url(dist) dist.get_metadata.assert_called_with(DIRECT_URL_METADATA_NAME) assert direct_url.url == "https://e.c/p.tgz" assert isinstance(direct_url.info, ArchiveInfo)
def from_dist(cls, dist): # type: (Distribution) -> FrozenRequirement # TODO `get_requirement_info` is taking care of editable requirements. # TODO This should be refactored when we will add detection of # editable that provide .dist-info metadata. req, editable, comments = get_requirement_info(dist) if req is None and not editable: # if PEP 610 metadata is present, attempt to use it direct_url = dist_get_direct_url(dist) if direct_url: req = direct_url_as_pep440_direct_reference( direct_url, dist.project_name ) comments = []
def test_dist_get_direct_url_bad_metadata(): dist = MagicMock() dist.has_metadata.return_value = True dist.get_metadata.return_value = "{}" # invalid direct_url.json assert dist_get_direct_url(dist) is None dist.get_metadata.assert_called_with(DIRECT_URL_METADATA_NAME)
def test_dist_get_direct_url_no_metadata(): dist = MagicMock() dist.has_metadata.return_value = False assert dist_get_direct_url(dist) is None dist.has_metadata.assert_called()