[Misc] Manage HTTP connections in one place (#6600)

This commit is contained in:
Cyrus Leung
2024-07-23 12:32:02 +08:00
committed by GitHub
parent c051bfe4eb
commit 97234be0ec
7 changed files with 215 additions and 85 deletions

View File

@@ -7,7 +7,7 @@ import numpy as np
import pytest
from PIL import Image
from vllm.multimodal.utils import ImageFetchAiohttp, fetch_image
from vllm.multimodal.utils import async_fetch_image, fetch_image
# Test different image extensions (JPG/PNG) and formats (gray/RGB/RGBA)
TEST_IMAGE_URLS = [
@@ -37,15 +37,15 @@ def _image_equals(a: Image.Image, b: Image.Image) -> bool:
return (np.asarray(a) == np.asarray(b.convert(a.mode))).all()
@pytest.mark.asyncio(scope="module")
@pytest.mark.asyncio
@pytest.mark.parametrize("image_url", TEST_IMAGE_URLS)
async def test_fetch_image_http(image_url: str):
image_sync = fetch_image(image_url)
image_async = await ImageFetchAiohttp.fetch_image(image_url)
image_async = await async_fetch_image(image_url)
assert _image_equals(image_sync, image_async)
@pytest.mark.asyncio(scope="module")
@pytest.mark.asyncio
@pytest.mark.parametrize("image_url", TEST_IMAGE_URLS)
@pytest.mark.parametrize("suffix", get_supported_suffixes())
async def test_fetch_image_base64(url_images: Dict[str, Image.Image],
@@ -78,5 +78,5 @@ async def test_fetch_image_base64(url_images: Dict[str, Image.Image],
else:
pass # Lossy format; only check that image can be opened
data_image_async = await ImageFetchAiohttp.fetch_image(data_url)
data_image_async = await async_fetch_image(data_url)
assert _image_equals(data_image_sync, data_image_async)