48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
"""Fixtures for cloud tests."""
|
|
from unittest.mock import patch
|
|
|
|
import jwt
|
|
import pytest
|
|
|
|
from homeassistant.components.cloud import const, prefs
|
|
|
|
from . import mock_cloud, mock_cloud_prefs
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def mock_user_data():
|
|
"""Mock os module."""
|
|
with patch('hass_nabucasa.Cloud.write_user_info') as writer:
|
|
yield writer
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_cloud_fixture(hass):
|
|
"""Fixture for cloud component."""
|
|
hass.loop.run_until_complete(mock_cloud(hass))
|
|
return mock_cloud_prefs(hass)
|
|
|
|
|
|
@pytest.fixture
|
|
async def cloud_prefs(hass):
|
|
"""Fixture for cloud preferences."""
|
|
cloud_prefs = prefs.CloudPreferences(hass)
|
|
await cloud_prefs.async_initialize()
|
|
return cloud_prefs
|
|
|
|
|
|
@pytest.fixture
|
|
async def mock_cloud_setup(hass):
|
|
"""Set up the cloud."""
|
|
await mock_cloud(hass)
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_cloud_login(hass, mock_cloud_setup):
|
|
"""Mock cloud is logged in."""
|
|
hass.data[const.DOMAIN].id_token = jwt.encode({
|
|
'email': 'hello@home-assistant.io',
|
|
'custom:sub-exp': '2018-01-03',
|
|
'cognito:username': 'abcdefghjkl',
|
|
}, 'test')
|