Skip to content

Commit 7622155

Browse files
committed
Fix Poetry optional dependency test
Signed-off-by: Adnan Raza <imadnanraza4@gmail.com>
1 parent 350fa60 commit 7622155

3 files changed

Lines changed: 179 additions & 31 deletions

File tree

tests/packagedcode/data/pypi/poetry/optional-poetry.lock-expected.json

Lines changed: 158 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/packagedcode/data/pypi/poetry/optional/poetry.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/packagedcode/test_pypi.py

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -399,37 +399,10 @@ def test_parse_poetry_lock_univers(self):
399399
self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES)
400400

401401
def test_parse_poetry_lock_package_optional(self):
402-
test_file = self.get_temp_file('poetry.lock')
403-
with open(test_file, 'w') as lockfile:
404-
lockfile.write('''\
405-
[[package]]
406-
name = "required-dep"
407-
version = "1.0.0"
408-
description = "required dependency"
409-
optional = false
410-
python-versions = ">=3.8"
411-
412-
[[package]]
413-
name = "optional-dep"
414-
version = "2.0.0"
415-
description = "optional dependency"
416-
optional = true
417-
python-versions = ">=3.8"
418-
419-
[metadata]
420-
lock-version = "2.0"
421-
python-versions = ">=3.8"
422-
content-hash = "test"
423-
''')
424-
425-
package_data = list(pypi.PoetryLockHandler.parse(test_file))[0]
426-
dependencies_by_purl = {
427-
dependency['purl']: dependency
428-
for dependency in package_data.dependencies
429-
}
430-
431-
assert dependencies_by_purl['pkg:pypi/required-dep@1.0.0']['is_optional'] is False
432-
assert dependencies_by_purl['pkg:pypi/optional-dep@2.0.0']['is_optional'] is True
402+
test_file = self.get_test_loc('pypi/poetry/optional/poetry.lock')
403+
package = pypi.PoetryLockHandler.parse(test_file)
404+
expected_loc = self.get_test_loc('pypi/poetry/optional-poetry.lock-expected.json')
405+
self.check_packages_data(package, expected_loc, regen=REGEN_TEST_FIXTURES)
433406

434407
def test_parse_pyproject_toml_poetry_univers(self):
435408
test_file = self.get_test_loc('pypi/poetry/univers/pyproject.toml')

0 commit comments

Comments
 (0)