Async version of melissa (#17721)

* rebase upstream

* Fixed tests

* Fixing lint
This commit is contained in:
kennedyshead 2018-10-30 21:29:11 +01:00 committed by Martin Hjelmare
parent 9565c0bd1d
commit 4073f63256
7 changed files with 481 additions and 317 deletions

View file

@ -1,6 +1,5 @@
"""The test for the Melissa Climate component."""
import unittest
from tests.common import get_test_home_assistant, MockDependency
from tests.common import MockDependency, mock_coro_func
from homeassistant.components import melissa
@ -12,25 +11,15 @@ VALID_CONFIG = {
}
class TestMelissa(unittest.TestCase):
"""Test the Melissa component."""
async def test_setup(hass):
"""Test setting up the Melissa component."""
with MockDependency('melissa') as mocked_melissa:
mocked_melissa.AsyncMelissa().async_connect = mock_coro_func()
await melissa.async_setup(hass, VALID_CONFIG)
def setUp(self): # pylint: disable=invalid-name
"""Initialize the values for this test class."""
self.hass = get_test_home_assistant()
self.config = VALID_CONFIG
def tearDown(self): # pylint: disable=invalid-name
"""Teardown this test class. Stop hass."""
self.hass.stop()
@MockDependency("melissa")
def test_setup(self, mocked_melissa):
"""Test setting up the Melissa component."""
melissa.setup(self.hass, self.config)
mocked_melissa.Melissa.assert_called_with(
mocked_melissa.AsyncMelissa.assert_called_with(
username="********", password="********")
assert melissa.DATA_MELISSA in self.hass.data
assert isinstance(self.hass.data[melissa.DATA_MELISSA], type(
mocked_melissa.Melissa()))
assert melissa.DATA_MELISSA in hass.data
assert isinstance(hass.data[melissa.DATA_MELISSA], type(
mocked_melissa.AsyncMelissa()))