mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Fix tellduslive discovery and auth issues (#20023)
* fix for #19954, discovered tellsticks shows up to be configured * fix for #19954, authentication issues * updated tests * move I/O to executer thread pool * Apply suggestions from code review Co-Authored-By: fredrike <fredrik.e@gmail.com>
This commit is contained in:
committed by
Martin Hjelmare
parent
e73569c203
commit
c8d885fb78
@@ -67,6 +67,7 @@ async def test_full_flow_implementation(hass, mock_tellduslive):
|
||||
result = await flow.async_step_discovery(['localhost', 'tellstick'])
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_FORM
|
||||
assert result['step_id'] == 'user'
|
||||
assert len(flow._hosts) == 2
|
||||
|
||||
result = await flow.async_step_user()
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_FORM
|
||||
@@ -156,12 +157,14 @@ async def test_step_disco_no_local_api(hass, mock_tellduslive):
|
||||
result = await flow.async_step_discovery(['localhost', 'tellstick'])
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_FORM
|
||||
assert result['step_id'] == 'auth'
|
||||
assert len(flow._hosts) == 1
|
||||
|
||||
|
||||
async def test_step_auth(hass, mock_tellduslive):
|
||||
"""Test that create cloud entity from auth."""
|
||||
flow = init_config_flow(hass)
|
||||
|
||||
await flow.async_step_auth()
|
||||
result = await flow.async_step_auth(['localhost', 'tellstick'])
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
||||
assert result['title'] == 'Cloud API'
|
||||
@@ -178,10 +181,11 @@ async def test_wrong_auth_flow_implementation(hass, mock_tellduslive):
|
||||
"""Test wrong auth."""
|
||||
flow = init_config_flow(hass)
|
||||
|
||||
await flow.async_step_user()
|
||||
await flow.async_step_auth()
|
||||
result = await flow.async_step_auth('')
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_FORM
|
||||
assert result['step_id'] == 'auth'
|
||||
assert result['errors']['base'] == 'auth_error'
|
||||
|
||||
|
||||
async def test_not_pick_host_if_only_one(hass, mock_tellduslive):
|
||||
@@ -201,6 +205,14 @@ async def test_abort_if_timeout_generating_auth_url(hass, mock_tellduslive):
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_ABORT
|
||||
assert result['reason'] == 'authorize_url_timeout'
|
||||
|
||||
async def test_abort_no_auth_url(hass, mock_tellduslive):
|
||||
"""Test abort if generating authorize url returns none."""
|
||||
flow = init_config_flow(hass)
|
||||
flow._get_auth_url = Mock(return_value=False)
|
||||
|
||||
result = await flow.async_step_user()
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_ABORT
|
||||
assert result['reason'] == 'authorize_url_fail'
|
||||
|
||||
async def test_abort_if_exception_generating_auth_url(hass, mock_tellduslive):
|
||||
"""Test we abort if generating authorize url blows up."""
|
||||
@@ -220,4 +232,4 @@ async def test_discovery_already_configured(hass, mock_tellduslive):
|
||||
|
||||
result = await flow.async_step_discovery(['some-host', ''])
|
||||
assert result['type'] == data_entry_flow.RESULT_TYPE_ABORT
|
||||
assert result['reason'] == 'already_configured'
|
||||
assert result['reason'] == 'already_setup'
|
||||
|
||||
Reference in New Issue
Block a user