Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4c008a5

Browse files
Fix upload service response for google_photos (home-assistant#136106)
1 parent e7a635a commit 4c008a5

File tree

2 files changed

+44
-15
lines changed

2 files changed

+44
-15
lines changed

‎homeassistant/components/google_photos/services.py‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,9 @@ async def async_handle_upload(call: ServiceCall) -> ServiceResponse:
144144
if call.return_response:
145145
return {
146146
"media_items": [
147-
{
148-
"media_item_id": item_result.media_item.id
149-
for item_result in upload_result.new_media_item_results
150-
if item_result.media_item and item_result.media_item.id
151-
}
147+
{"media_item_id": item_result.media_item.id}
148+
for item_result in upload_result.new_media_item_results
149+
if item_result.media_item and item_result.media_item.id
152150
],
153151
"album_id": album_id,
154152
}

‎tests/components/google_photos/test_services.py‎

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,24 +74,55 @@ def mock_upload_file(
7474
yield
7575

7676

77+
@pytest.mark.parametrize(
78+
("media_items_result", "service_response"),
79+
[
80+
(
81+
CreateMediaItemsResult(
82+
new_media_item_results=[
83+
NewMediaItemResult(
84+
upload_token="some-upload-token",
85+
status=Status(code=200),
86+
media_item=MediaItem(id="new-media-item-id-1"),
87+
)
88+
]
89+
),
90+
[{"media_item_id": "new-media-item-id-1"}],
91+
),
92+
(
93+
CreateMediaItemsResult(
94+
new_media_item_results=[
95+
NewMediaItemResult(
96+
upload_token="some-upload-token",
97+
status=Status(code=200),
98+
media_item=MediaItem(id="new-media-item-id-1"),
99+
),
100+
NewMediaItemResult(
101+
upload_token="some-upload-token",
102+
status=Status(code=200),
103+
media_item=MediaItem(id="new-media-item-id-2"),
104+
),
105+
]
106+
),
107+
[
108+
{"media_item_id": "new-media-item-id-1"},
109+
{"media_item_id": "new-media-item-id-2"},
110+
],
111+
),
112+
],
113+
)
77114
@pytest.mark.usefixtures("setup_integration")
78115
async def test_upload_service(
79116
hass: HomeAssistant,
80117
config_entry: MockConfigEntry,
81118
mock_api: Mock,
119+
media_items_result: CreateMediaItemsResult,
120+
service_response: list[dict[str, str]],
82121
) -> None:
83122
"""Test service call to upload content."""
84123
assert hass.services.has_service(DOMAIN, "upload")
85124

86-
mock_api.create_media_items.return_value = CreateMediaItemsResult(
87-
new_media_item_results=[
88-
NewMediaItemResult(
89-
upload_token="some-upload-token",
90-
status=Status(code=200),
91-
media_item=MediaItem(id="new-media-item-id-1"),
92-
)
93-
]
94-
)
125+
mock_api.create_media_items.return_value = media_items_result
95126

96127
response = await hass.services.async_call(
97128
DOMAIN,
@@ -106,7 +137,7 @@ async def test_upload_service(
106137
)
107138

108139
assert response == {
109-
"media_items": [{"media_item_id": "new-media-item-id-1"}],
140+
"media_items": service_response,
110141
"album_id": "album-media-id-1",
111142
}
112143

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /