Spaces:
Running on Zero
Running on Zero
File size: 1,490 Bytes
b701455 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | import os
import io
import base64
from PIL import Image
from pathlib import Path
import pytest
import server
def _make_png_data():
buf = io.BytesIO()
img = Image.new('RGB', (32, 32), color='green')
img.save(buf, format='PNG')
b = buf.getvalue()
b64 = base64.b64encode(b).decode('ascii')
data_uri = f"data:image/png;base64,{b64}"
return data_uri, b
def test_context_request_prefix_mapping():
from src.Core.Context import Context
ctx = Context.from_kwargs(prompt='x', request_filename_prefix='LD-REQ-abc123')
assert ctx.features.request_filename_prefix == 'LD-REQ-abc123'
@pytest.mark.asyncio
async def test_generate_endpoint_accepts_img2img_request(monkeypatch, async_server_client):
"""Test that /api/generate accepts img2img payloads and returns an image response."""
async def fake_enqueue(pending):
assert pending.req.img2img_mode is True
assert pending.req.img2img_image
return {'image': 'data:image/png;base64,xyz'}
monkeypatch.setattr(server._generation_buffer, 'enqueue', fake_enqueue)
data_uri, _ = _make_png_data()
payload = {
'prompt': 'test',
'width': 512,
'height': 512,
'num_images': 1,
'img2img_mode': True,
'img2img_image': data_uri,
}
res = await async_server_client.post('/api/generate', json=payload)
assert res.status_code == 200, res.text
j = res.json()
assert j.get('image') == 'data:image/png;base64,xyz'
|