39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import io
|
|
|
|
from PIL import Image as PILImage
|
|
|
|
|
|
def _upload_image(client, filename="test_photo.jpg", color=(128, 64, 200)):
|
|
img = PILImage.new("RGB", (800, 600), color=color)
|
|
buf = io.BytesIO()
|
|
img.save(buf, format="JPEG")
|
|
buf.seek(0)
|
|
return client.post(
|
|
"/api/images",
|
|
data={"file": (buf, filename)},
|
|
content_type="multipart/form-data",
|
|
)
|
|
|
|
|
|
class TestGalleryDelete:
|
|
def test_upload_delete_flow(self, client):
|
|
resp = _upload_image(client)
|
|
assert resp.status_code == 201
|
|
data = resp.get_json()
|
|
image_id = data["id"]
|
|
|
|
resp = client.get("/api/images")
|
|
assert resp.status_code == 200
|
|
data = resp.get_json()
|
|
total_before = data["total"]
|
|
assert total_before >= 1
|
|
|
|
resp = client.delete(f"/api/images/{image_id}")
|
|
assert resp.status_code == 200
|
|
assert resp.get_json() == {"status": "deleted"}
|
|
|
|
resp = client.get("/api/images")
|
|
assert resp.status_code == 200
|
|
data = resp.get_json()
|
|
assert data["total"] == total_before - 1
|