def testdownload_and_preprocess_image_partial_failure(self, mock_preprocess, mock_download_image):
        """One image succeeds, one fails, returned list reflects both outcomes."""
        content = [TestImageUrls.IMAGE1.value, "http://invalid-url.com/does-not-exist.jpg"]
        preprocessor = CLIPPreprocessor()

        results = download_and_preprocess_media(content=content, preprocessor=preprocessor,
                                                preprocessing_config=self.preprocessing_config,
                                                return_individual_error=True)

        self.assertEqual(len(results), 2)

        # First image success
        self.assertIsInstance(results[0], list)
        self.assertEqual(len(results[0]), 1)
        url_1, tensor_1 = results[0][0]
        self.assertEqual(url_1, TestImageUrls.IMAGE1.value)
        self.assertIsInstance(tensor_1, torch.Tensor)

        # Second image failure
        self.assertIsInstance(results[1], InferenceErrorModel)
        self.assertIn("This image does not exist in the test data", results[1].error_message)

        mock_download_image.assert_called()
        self.assertEqual(2, mock_download_image.call_count)
        mock_preprocess.assert_called()
One image succeeds, one fails, returned list reflects both outcomes.
tests/unit_tests/marqo/inference/media_download_and_preprocess/test_chunk_download_preprocess_image_content.py