def test_image_download_headers_validation(self):
        """Test validation of image download headers."""
        # Should fail when both headers are set
        with self.assertRaises(ValidationError) as cm:
            SearchQuery(
                q="test",
                image_download_headers={"header1": "value1"},
                mediaDownloadHeaders={"header2": "value2"}
            )
        self.assertIn("Cannot set both imageDownloadHeaders", str(cm.exception))
        
        # Should work when imageDownloadHeaders is set and mediaDownloadHeaders is copied
        search_query = SearchQuery(
            q="test",
            image_download_headers={"Authorization": "Bearer token"}
        )
        self.assertEqual(search_query.mediaDownloadHeaders, {"Authorization": "Bearer token"})
Test validation of image download headers.
tests/unit_tests/marqo/tensor_search/test_api_models.py