mirror of
https://github.com/home-assistant/core.git
synced 2026-08-24 10:13:52 -05:00
Switchbot_cloud: fixed cloud hook error (#175336)
This commit is contained in:
@@ -523,11 +523,7 @@ async def _async_get_webhook_url(
|
||||
return str(entry.data[CONF_CLOUDHOOK_URL])
|
||||
if cloud.async_is_connected(hass):
|
||||
webhook_id = entry.data[CONF_WEBHOOK_ID]
|
||||
# A previous run may have left a cloudhook registered for this
|
||||
# webhook id; delete it so we can create a fresh one.
|
||||
with contextlib.suppress(cloud.CloudNotAvailable):
|
||||
await cloud.async_delete_cloudhook(hass, webhook_id)
|
||||
cloudhook_url = await cloud.async_create_cloudhook(hass, webhook_id)
|
||||
cloudhook_url = await cloud.async_get_or_create_cloudhook(hass, webhook_id)
|
||||
hass.config_entries.async_update_entry(
|
||||
entry, data={**entry.data, CONF_CLOUDHOOK_URL: cloudhook_url}
|
||||
)
|
||||
@@ -596,7 +592,6 @@ def _create_handle_webhook(
|
||||
data,
|
||||
)
|
||||
return
|
||||
|
||||
coordinator = coordinators_by_id[device_mac]
|
||||
coordinator.webhook_subscription_listener(True)
|
||||
coordinator.async_set_updated_data(data["context"])
|
||||
|
||||
@@ -408,7 +408,7 @@ async def test_setup_creates_cloudhook_when_cloud_active(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
) as fake_create_cloudhook,
|
||||
patch("homeassistant.components.cloud.async_delete_cloudhook"),
|
||||
@@ -463,7 +463,7 @@ async def test_setup_reuses_persisted_cloudhook(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
) as fake_create_cloudhook,
|
||||
patch("homeassistant.components.cloud.async_delete_cloudhook"),
|
||||
@@ -549,7 +549,7 @@ async def test_cloud_connects_after_setup(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
) as fake_create_cloudhook,
|
||||
patch("homeassistant.components.cloud.async_delete_cloudhook"),
|
||||
@@ -593,7 +593,7 @@ async def test_setup_active_subscription_not_connected(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=False),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
side_effect=cloud.CloudNotConnected,
|
||||
) as fake_create_cloudhook,
|
||||
patch("homeassistant.components.cloud.async_delete_cloudhook"),
|
||||
@@ -611,7 +611,7 @@ async def test_setup_active_subscription_not_connected(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
) as fake_create_cloudhook,
|
||||
patch("homeassistant.components.cloud.async_delete_cloudhook"),
|
||||
@@ -647,7 +647,7 @@ async def test_cloudhook_deleted_on_entry_removal(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
),
|
||||
patch(
|
||||
@@ -728,7 +728,7 @@ async def test_remove_entry_with_cloud_unavailable(
|
||||
patch("homeassistant.components.cloud.async_is_connected", return_value=True),
|
||||
patch.object(cloud, "async_active_subscription", return_value=True),
|
||||
patch(
|
||||
"homeassistant.components.cloud.async_create_cloudhook",
|
||||
"homeassistant.components.cloud.async_get_or_create_cloudhook",
|
||||
return_value=CLOUDHOOK_URL,
|
||||
),
|
||||
patch(
|
||||
|
||||
Reference in New Issue
Block a user