diff --git a/pyproject_metadata/__init__.py b/pyproject_metadata/__init__.py index 7dafeeb..7e7fce4 100644 --- a/pyproject_metadata/__init__.py +++ b/pyproject_metadata/__init__.py @@ -304,9 +304,9 @@ def write_to_rfc822(self, message: RFC822Message) -> None: # noqa: C901 message['Description-Content-Type'] = self.readme.content_type message.body = self.readme.text # Core Metadata 2.2 + if 'name' in self.dynamic: + raise ConfigurationError('Name cannot be dynamic') for field in self.dynamic: - if field in ('name', 'version'): - raise ConfigurationError(f'Field cannot be dynamic: {field}') message['Dynamic'] = field def _name_list(self, people: list[tuple[str, str]]) -> str: diff --git a/tests/test_standard_metadata.py b/tests/test_standard_metadata.py index 76d1cb4..311a1d6 100644 --- a/tests/test_standard_metadata.py +++ b/tests/test_standard_metadata.py @@ -642,10 +642,7 @@ def test_as_rfc822_invalid_dynamic(): version=packaging.version.Version('1.0.0'), ) metadata.dynamic = ['name'] - with pytest.raises(pyproject_metadata.ConfigurationError, match='Field cannot be dynamic: name'): - metadata.as_rfc822() - metadata.dynamic = ['version'] - with pytest.raises(pyproject_metadata.ConfigurationError, match='Field cannot be dynamic: version'): + with pytest.raises(pyproject_metadata.ConfigurationError, match='Name cannot be dynamic'): metadata.as_rfc822()