1
0
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:
Paulus Schoutsen
2017-11-27 01:09:17 -08:00
committed by Pascal Vizeli
parent 1b7a64412d
commit fe0a9529ed
5 changed files with 60 additions and 24 deletions

View File

@@ -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):