MCPcopy Create free account
hub / github.com/TheSmallHanCat/flow2api / FlowClientUploadImageTests

Class FlowClientUploadImageTests

tests/test_flow_client_upload.py:10–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9
10class FlowClientUploadImageTests(unittest.IsolatedAsyncioTestCase):
11 async def test_project_scoped_upload_uses_new_endpoint_with_project_id(self):
12 client = FlowClient(proxy_manager=None)
13
14 request_calls = []
15
16 async def fake_make_request(**kwargs):
17 request_calls.append(kwargs)
18 return {
19 "media": {
20 "name": "new-media-id",
21 }
22 }
23
24 client._make_request = AsyncMock(side_effect=fake_make_request)
25
26 media_id = await client.upload_image(
27 at="test-at",
28 image_bytes=JPEG_BYTES,
29 aspect_ratio="IMAGE_ASPECT_RATIO_LANDSCAPE",
30 project_id="project-123",
31 )
32
33 self.assertEqual(media_id, "new-media-id")
34 self.assertEqual(len(request_calls), 1)
35 self.assertTrue(request_calls[0]["url"].endswith("/flow/uploadImage"))
36 self.assertEqual(
37 request_calls[0]["json_data"]["clientContext"]["projectId"],
38 "project-123",
39 )
40 self.assertIn("sessionId", request_calls[0]["json_data"]["clientContext"])
41
42 async def test_project_scoped_upload_accepts_media_list_response(self):
43 client = FlowClient(proxy_manager=None)
44
45 request_calls = []
46
47 async def fake_make_request(**kwargs):
48 request_calls.append(kwargs)
49 return {
50 "media": [
51 {
52 "name": "new-media-id",
53 "projectId": "project-123",
54 }
55 ]
56 }
57
58 client._make_request = AsyncMock(side_effect=fake_make_request)
59
60 media_id = await client.upload_image(
61 at="test-at",
62 image_bytes=JPEG_BYTES,
63 aspect_ratio="IMAGE_ASPECT_RATIO_LANDSCAPE",
64 project_id="project-123",
65 )
66
67 self.assertEqual(media_id, "new-media-id")

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected