51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
"""The tests for the ASUSWRT device tracker platform."""
|
|
from homeassistant.setup import async_setup_component
|
|
|
|
from homeassistant.components.asuswrt import (
|
|
CONF_PROTOCOL, CONF_MODE, DOMAIN, CONF_PORT, DATA_ASUSWRT)
|
|
from homeassistant.const import (CONF_PLATFORM, CONF_PASSWORD, CONF_USERNAME,
|
|
CONF_HOST)
|
|
|
|
from tests.common import MockDependency, mock_coro_func
|
|
|
|
FAKEFILE = None
|
|
|
|
VALID_CONFIG_ROUTER_SSH = {DOMAIN: {
|
|
CONF_PLATFORM: 'asuswrt',
|
|
CONF_HOST: 'fake_host',
|
|
CONF_USERNAME: 'fake_user',
|
|
CONF_PROTOCOL: 'ssh',
|
|
CONF_MODE: 'router',
|
|
CONF_PORT: '22'
|
|
}}
|
|
|
|
|
|
async def test_password_or_pub_key_required(hass):
|
|
"""Test creating an AsusWRT scanner without a pass or pubkey."""
|
|
with MockDependency('aioasuswrt.asuswrt')as mocked_asus:
|
|
mocked_asus.AsusWrt().connection.async_connect = mock_coro_func()
|
|
mocked_asus.AsusWrt().is_connected = False
|
|
result = await async_setup_component(
|
|
hass, DOMAIN, {DOMAIN: {
|
|
CONF_HOST: 'fake_host',
|
|
CONF_USERNAME: 'fake_user'
|
|
}})
|
|
assert not result
|
|
|
|
|
|
async def test_get_scanner_with_password_no_pubkey(hass):
|
|
"""Test creating an AsusWRT scanner with a password and no pubkey."""
|
|
with MockDependency('aioasuswrt.asuswrt')as mocked_asus:
|
|
mocked_asus.AsusWrt().connection.async_connect = mock_coro_func()
|
|
mocked_asus.AsusWrt(
|
|
).connection.async_get_connected_devices = mock_coro_func(
|
|
return_value={})
|
|
result = await async_setup_component(
|
|
hass, DOMAIN, {DOMAIN: {
|
|
CONF_HOST: 'fake_host',
|
|
CONF_USERNAME: 'fake_user',
|
|
CONF_PASSWORD: '4321'
|
|
}})
|
|
assert result
|
|
assert hass.data[DATA_ASUSWRT] is not None
|