mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Ensure samsungtv reloads after reauth (#51714)
* Ensure samsungtv reloads after reauth - Fixes a case of I/O in the event loop * Ensure config entry is reloaded
This commit is contained in:
parent
6e0aca49af
commit
ab490bc769
@ -291,13 +291,14 @@ class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
bridge = SamsungTVBridge.get_bridge(
|
||||
self._reauth_entry.data[CONF_METHOD], self._reauth_entry.data[CONF_HOST]
|
||||
)
|
||||
result = bridge.try_connect()
|
||||
result = await self.hass.async_add_executor_job(bridge.try_connect)
|
||||
if result == RESULT_SUCCESS:
|
||||
new_data = dict(self._reauth_entry.data)
|
||||
new_data[CONF_TOKEN] = bridge.token
|
||||
self.hass.config_entries.async_update_entry(
|
||||
self._reauth_entry, data=new_data
|
||||
)
|
||||
await self.hass.config_entries.async_reload(self._reauth_entry.entry_id)
|
||||
return self.async_abort(reason="reauth_successful")
|
||||
if result not in (RESULT_AUTH_MISSING, RESULT_CANNOT_CONNECT):
|
||||
return self.async_abort(reason=result)
|
||||
|
@ -905,6 +905,8 @@ async def test_form_reauth_websocket(hass, remotews: Mock):
|
||||
"""Test reauthenticate websocket."""
|
||||
entry = MockConfigEntry(domain=DOMAIN, data=MOCK_WS_ENTRY)
|
||||
entry.add_to_hass(hass)
|
||||
assert entry.state == config_entries.ConfigEntryState.NOT_LOADED
|
||||
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"entry_id": entry.entry_id, "source": config_entries.SOURCE_REAUTH},
|
||||
@ -920,6 +922,7 @@ async def test_form_reauth_websocket(hass, remotews: Mock):
|
||||
await hass.async_block_till_done()
|
||||
assert result2["type"] == "abort"
|
||||
assert result2["reason"] == "reauth_successful"
|
||||
assert entry.state == config_entries.ConfigEntryState.LOADED
|
||||
|
||||
|
||||
async def test_form_reauth_websocket_cannot_connect(hass, remotews: Mock):
|
||||
|
Loading…
x
Reference in New Issue
Block a user