@@ -111,6 +111,34 @@ def test_content_crud(
111111 assert msg in e .value .task .error ["description" ]
112112
113113
114+ def test_content_create_new_metadata (
115+ delete_orphans_pre , download_python_file , monitor_task , python_bindings
116+ ):
117+ """
118+ Test the creation of python content unit with newly added core metadata (provides_extras,
119+ dynamic, license_expression, license_file).
120+ """
121+ python_egg_filename = "setuptools-80.9.0.tar.gz"
122+ python_egg_url = urljoin (urljoin (PYTHON_FIXTURES_URL , "packages/" ), python_egg_filename )
123+ python_file = download_python_file (python_egg_filename , python_egg_url )
124+
125+ body = {"relative_path" : python_egg_filename , "file" : python_file }
126+ response = python_bindings .ContentPackagesApi .create (** body )
127+ task = monitor_task (response .task )
128+ content = python_bindings .ContentPackagesApi .read (task .created_resources [0 ])
129+
130+ python_package_data = {
131+ "filename" : "setuptools-80.9.0.tar.gz" ,
132+ "provides_extras" :
133+ '["test", "doc", "ssl", "certs", "core", "check", "cover", "enabler", "type"]' ,
134+ "dynamic" : '["license-file"]' ,
135+ "license_expression" : "MIT" ,
136+ "license_file" : '["LICENSE"]' ,
137+ }
138+ for k , v in python_package_data .items ():
139+ assert getattr (content , k ) == v
140+
141+
114142@pytest .mark .parallel
115143def test_upload_metadata_23_spec (python_content_factory ):
116144 """Test that packages using metadata spec 2.3 can be uploaded to pulp."""
@@ -139,11 +167,13 @@ def test_upload_requires_python(python_content_factory):
139167@pytest .mark .parallel
140168def test_upload_metadata_24_spec (python_content_factory ):
141169 """Test that packages using metadata spec 2.4 can be uploaded to pulp."""
142- filename = "urllib3-2.3.0-py3-none-any.whl "
170+ filename = "setuptools-80.9.0.tar.gz "
143171 with PyPISimple () as client :
144- page = client .get_project_page ("urllib3 " )
172+ page = client .get_project_page ("setuptools " )
145173 for package in page .packages :
146174 if package .filename == filename :
147175 content = python_content_factory (filename , url = package .url )
148176 assert content .metadata_version == "2.4"
177+ assert content .license_expression == "MIT"
178+ assert content .license_file == '["LICENSE"]'
149179 break
0 commit comments