Refactor direct_url test helper
@@ -3,15 +3,22 @@ from typing import Optional
from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl
from tests.lib import TestPipResult
+from tests.lib.path import Path
-def get_created_direct_url(result: TestPipResult, pkg: str) -> Optional[DirectUrl]:
+def get_created_direct_url_path(result: TestPipResult, pkg: str) -> Optional[Path]:
direct_url_metadata_re = re.compile(
pkg + r"-[\d\.]+\.dist-info." + DIRECT_URL_METADATA_NAME + r"$"
)
for filename in result.files_created:
if direct_url_metadata_re.search(filename):
- direct_url_path = result.test_env.base_path / filename
+ return result.test_env.base_path / filename
+ return None
+
+
+def get_created_direct_url(result: TestPipResult, pkg: str) -> Optional[DirectUrl]:
+ direct_url_path = get_created_direct_url_path(result, pkg)
+ if direct_url_path:
with open(direct_url_path) as f:
return DirectUrl.from_json(f.read())
return None
