@@ -111,6 +111,33 @@ 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" : '["test", "doc", "ssl", "certs", "core", "check", "cover", "enabler", "type"]' ,
133+ "dynamic" : '["license-file"]' ,
134+ "license_expression" : "MIT" ,
135+ "license_file" : '["LICENSE"]' ,
136+ }
137+ for k , v in python_package_data .items ():
138+ assert getattr (content , k ) == v
139+
140+
114141@pytest .mark .parallel
115142def test_upload_metadata_23_spec (python_content_factory ):
116143 """Test that packages using metadata spec 2.3 can be uploaded to pulp."""
@@ -139,11 +166,13 @@ def test_upload_requires_python(python_content_factory):
139166@pytest .mark .parallel
140167def test_upload_metadata_24_spec (python_content_factory ):
141168 """Test that packages using metadata spec 2.4 can be uploaded to pulp."""
142- filename = "urllib3-2.3.0-py3-none-any.whl "
169+ filename = "setuptools-80.9.0.tar.gz "
143170 with PyPISimple () as client :
144- page = client .get_project_page ("urllib3 " )
171+ page = client .get_project_page ("setuptools " )
145172 for package in page .packages :
146173 if package .filename == filename :
147174 content = python_content_factory (filename , url = package .url )
148175 assert content .metadata_version == "2.4"
176+ # assert content.license_expression == "MIT"
177+ assert content .license_file == '["LICENSE"]'
149178 break
0 commit comments