
* Adds London_air component * Fix lints * Reduce fixture * Fix config validate * Fix naming * fix tests
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
"""The tests for the tube_state platform."""
|
|
import unittest
|
|
import requests_mock
|
|
|
|
from homeassistant.components.sensor.london_air import (
|
|
CONF_LOCATIONS, URL)
|
|
from homeassistant.setup import setup_component
|
|
from tests.common import load_fixture, get_test_home_assistant
|
|
|
|
VALID_CONFIG = {
|
|
'platform': 'london_air',
|
|
CONF_LOCATIONS: [
|
|
'Merton',
|
|
]
|
|
}
|
|
|
|
|
|
class TestLondonAirSensor(unittest.TestCase):
|
|
"""Test the tube_state platform."""
|
|
|
|
def setUp(self):
|
|
"""Initialize values for this testcase class."""
|
|
self.hass = get_test_home_assistant()
|
|
self.config = VALID_CONFIG
|
|
|
|
def tearDown(self):
|
|
"""Stop everything that was started."""
|
|
self.hass.stop()
|
|
|
|
@requests_mock.Mocker()
|
|
def test_setup(self, mock_req):
|
|
"""Test for operational tube_state sensor with proper attributes."""
|
|
mock_req.get(URL, text=load_fixture('london_air.json'))
|
|
self.assertTrue(
|
|
setup_component(self.hass, 'sensor', {'sensor': self.config}))
|
|
|
|
state = self.hass.states.get('sensor.merton')
|
|
assert state.state == 'Low'
|
|
assert state.attributes.get('updated') == '2017-08-03 03:00:00'
|
|
assert state.attributes.get('sites') == 2
|
|
assert state.attributes.get('data')[0]['site_code'] == 'ME2'
|