Spaces:
Running on Zero
Running on Zero
| 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' | |
| 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' | |