From 88166677cc95f971cc7fbb0f5cfb1a4be2e6df96 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 8 Apr 2024 04:44:16 -0400 Subject: [PATCH] fix: configuration error printout missing values (#99) Signed-off-by: Henry Schreiner --- pyproject_metadata/__init__.py | 2 +- tests/test_standard_metadata.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/pyproject_metadata/__init__.py b/pyproject_metadata/__init__.py index 12d64ec..610cb7a 100644 --- a/pyproject_metadata/__init__.py +++ b/pyproject_metadata/__init__.py @@ -242,7 +242,7 @@ def from_pyproject( raise ConfigurationError(msg) if metadata_version and metadata_version not in KNOWN_METADATA_VERSIONS: - msg = 'The metadata_version must be one of {KNOWN_METADATA_VERSIONS} or None (default)' + msg = f'The metadata_version must be one of {KNOWN_METADATA_VERSIONS} or None (default)' raise ConfigurationError(msg) return cls( diff --git a/tests/test_standard_metadata.py b/tests/test_standard_metadata.py index b7f4761..5c26cf3 100644 --- a/tests/test_standard_metadata.py +++ b/tests/test_standard_metadata.py @@ -729,6 +729,21 @@ def test_as_rfc822_set_metadata(metadata_version): assert 'Requires-Dist: some-package; extra == "da-sh"' in rfc822 assert 'Requires-Dist: some.package; extra == "do-t"' in rfc822 +def test_as_rfc822_set_metadata_invalid(): + with pytest.raises(pyproject_metadata.ConfigurationError, match='The metadata_version must be one of') as err: + pyproject_metadata.StandardMetadata.from_pyproject( + { + 'project': { + 'name': 'hi', + 'version': '1.2', + }, + }, + metadata_version='2.0', + ) + assert '2.1' in str(err.value) + assert '2.2' in str(err.value) + assert '2.3' in str(err.value) + def test_as_rfc822_invalid_dynamic(): metadata = pyproject_metadata.StandardMetadata(