8000 Add test capturing expectation. Ref #404 · python/importlib_metadata@f480907 · GitHub
[go: up one dir, main page]

Skip to content

Commit f480907

Browse files
committed
Add test capturing expectation. Ref #404
1 parent 8439918 commit f480907

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

tests/fixtures.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import sys
33
import copy
4+
import json
45
import shutil
56
import pathlib
67
import tempfile
@@ -127,6 +128,31 @@ def make_uppercase(self):
127128
build_files(files, self.site_dir)
128129

129130

131+
class DistInfoPkgEditable(DistInfoPkg):
132+
"""
133+
Package with a PEP 660 direct_url.json.
134+
"""
135+
136+
some_hash = '524127ce937f7cb65665130c695abd18ca386f60bb29687efb976faa1596fdcc'
137+
files: FilesSpec = {
138+
'distinfo_pkg-1.0.0.dist-info': {
139+
'direct_url.json': json.dumps(
140+
{
141+
"archive_info": {
142+
"hash": f"sha256={some_hash}",
143+
"hashes": {"sha256": f"{some_hash}"},
144+
},
145+
"url": "file:///path/to/distinfo_pkg-1.0.0.editable-py3-none-any.whl",
146+
}
147+
)
148+
},
149+
}
150+
151+
def setUp(self):
152+
super().setUp()
153+
build_files(DistInfoPkgEditable.files, self.site_dir)
154+
155+
130156
class DistInfoPkgWithDot(OnSysPath, SiteDir):
131157
files: FilesSpec = {
132158
"pkg_dot-1.0.0.dist-info": {

tests/test_main.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,3 +457,10 @@ def import_names_from_package(package_name):
457457
# sources_fallback-pkg has one import ('sources_fallback') inferred from
458458
# SOURCES.txt (top_level.txt and installed-files.txt is missing)
459459
assert import_names_from_package('sources_fallback-pkg') == {'sources_fallback'}
460+
461+
462+
class EditableDistributionTest(fixtures.DistInfoPkgEditable, unittest.TestCase):
463+
def test_origin(self):
464+
dist = Distribution.from_name('distinfo-pkg')
465+
assert dist.origin.url.endswith('.whl')
466+
assert dist.origin.archive_info.hashes.sha256

0 commit comments

Comments
 (0)
0