mirror of
https://github.com/home-assistant/core.git
synced 2025-12-23 20:39:01 +00:00
Cloud cognito switch (#10823)
* Allow email based cognito instance * Fix quitting Home Assistant while reconnecting * Lint
This commit is contained in:
committed by
Pascal Vizeli
parent
1b7a64412d
commit
fe0a9529ed
@@ -77,7 +77,11 @@ def test_login(mock_cognito):
|
||||
|
||||
def test_register(mock_cognito):
|
||||
"""Test registering an account."""
|
||||
auth_api.register(None, 'email@home-assistant.io', 'password')
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
auth_api.register(cloud, 'email@home-assistant.io', 'password')
|
||||
assert len(mock_cognito.register.mock_calls) == 1
|
||||
result_user, result_password = mock_cognito.register.mock_calls[0][1]
|
||||
assert result_user == \
|
||||
@@ -87,14 +91,18 @@ def test_register(mock_cognito):
|
||||
|
||||
def test_register_fails(mock_cognito):
|
||||
"""Test registering an account."""
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
mock_cognito.register.side_effect = aws_error('SomeError')
|
||||
with pytest.raises(auth_api.CloudError):
|
||||
auth_api.register(None, 'email@home-assistant.io', 'password')
|
||||
auth_api.register(cloud, 'email@home-assistant.io', 'password')
|
||||
|
||||
|
||||
def test_confirm_register(mock_cognito):
|
||||
"""Test confirming a registration of an account."""
|
||||
auth_api.confirm_register(None, '123456', 'email@home-assistant.io')
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
auth_api.confirm_register(cloud, '123456', 'email@home-assistant.io')
|
||||
assert len(mock_cognito.confirm_sign_up.mock_calls) == 1
|
||||
result_code, result_user = mock_cognito.confirm_sign_up.mock_calls[0][1]
|
||||
assert result_user == \
|
||||
@@ -104,28 +112,36 @@ def test_confirm_register(mock_cognito):
|
||||
|
||||
def test_confirm_register_fails(mock_cognito):
|
||||
"""Test an error during confirmation of an account."""
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
mock_cognito.confirm_sign_up.side_effect = aws_error('SomeError')
|
||||
with pytest.raises(auth_api.CloudError):
|
||||
auth_api.confirm_register(None, '123456', 'email@home-assistant.io')
|
||||
auth_api.confirm_register(cloud, '123456', 'email@home-assistant.io')
|
||||
|
||||
|
||||
def test_forgot_password(mock_cognito):
|
||||
"""Test starting forgot password flow."""
|
||||
auth_api.forgot_password(None, 'email@home-assistant.io')
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
auth_api.forgot_password(cloud, 'email@home-assistant.io')
|
||||
assert len(mock_cognito.initiate_forgot_password.mock_calls) == 1
|
||||
|
||||
|
||||
def test_forgot_password_fails(mock_cognito):
|
||||
"""Test failure when starting forgot password flow."""
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
mock_cognito.initiate_forgot_password.side_effect = aws_error('SomeError')
|
||||
with pytest.raises(auth_api.CloudError):
|
||||
auth_api.forgot_password(None, 'email@home-assistant.io')
|
||||
auth_api.forgot_password(cloud, 'email@home-assistant.io')
|
||||
|
||||
|
||||
def test_confirm_forgot_password(mock_cognito):
|
||||
"""Test confirming forgot password."""
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
auth_api.confirm_forgot_password(
|
||||
None, '123456', 'email@home-assistant.io', 'new password')
|
||||
cloud, '123456', 'email@home-assistant.io', 'new password')
|
||||
assert len(mock_cognito.confirm_forgot_password.mock_calls) == 1
|
||||
result_code, result_password = \
|
||||
mock_cognito.confirm_forgot_password.mock_calls[0][1]
|
||||
@@ -135,10 +151,12 @@ def test_confirm_forgot_password(mock_cognito):
|
||||
|
||||
def test_confirm_forgot_password_fails(mock_cognito):
|
||||
"""Test failure when confirming forgot password."""
|
||||
cloud = MagicMock()
|
||||
cloud.cognito_email_based = False
|
||||
mock_cognito.confirm_forgot_password.side_effect = aws_error('SomeError')
|
||||
with pytest.raises(auth_api.CloudError):
|
||||
auth_api.confirm_forgot_password(
|
||||
None, '123456', 'email@home-assistant.io', 'new password')
|
||||
cloud, '123456', 'email@home-assistant.io', 'new password')
|
||||
|
||||
|
||||
def test_check_token_writes_new_token_on_refresh(mock_cognito):
|
||||
|
||||
Reference in New Issue
Block a user