VCR YR sensor test
This commit is contained in:
parent
ca6b957839
commit
c1eaf60461
5 changed files with 49 additions and 42 deletions
|
@ -206,7 +206,8 @@ class YrData(object):
|
|||
if self._nextrun is not None and dt_util.utcnow() <= self._nextrun:
|
||||
return
|
||||
try:
|
||||
response = requests.get(self._url)
|
||||
with requests.Session() as sess:
|
||||
response = sess.get(self._url)
|
||||
except requests.RequestException:
|
||||
return
|
||||
if response.status_code != 200:
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
import betamax
|
||||
|
||||
with betamax.Betamax.configure() as config:
|
||||
config.cassette_library_dir = 'tests/cassettes'
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -4,39 +4,46 @@ tests.components.sensor.test_yr
|
|||
|
||||
Tests Yr sensor.
|
||||
"""
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
import homeassistant.core as ha
|
||||
import homeassistant.components.sensor as sensor
|
||||
|
||||
|
||||
class TestSensorYr(unittest.TestCase):
|
||||
@pytest.mark.usefixtures('betamax_session')
|
||||
class TestSensorYr:
|
||||
""" Test the Yr sensor. """
|
||||
|
||||
def setUp(self): # pylint: disable=invalid-name
|
||||
def setup_method(self, method):
|
||||
self.hass = ha.HomeAssistant()
|
||||
self.hass.config.latitude = 32.87336
|
||||
self.hass.config.longitude = 117.22743
|
||||
|
||||
def tearDown(self): # pylint: disable=invalid-name
|
||||
def teardown_method(self, method):
|
||||
""" Stop down stuff we started. """
|
||||
self.hass.stop()
|
||||
|
||||
def test_default_setup(self):
|
||||
self.assertTrue(sensor.setup(self.hass, {
|
||||
def test_default_setup(self, betamax_session):
|
||||
with patch('homeassistant.components.sensor.yr.requests.Session',
|
||||
return_value=betamax_session):
|
||||
assert sensor.setup(self.hass, {
|
||||
'sensor': {
|
||||
'platform': 'yr',
|
||||
'elevation': 0,
|
||||
}
|
||||
}))
|
||||
})
|
||||
|
||||
state = self.hass.states.get('sensor.yr_symbol')
|
||||
|
||||
self.assertTrue(state.state.isnumeric())
|
||||
self.assertEqual(None,
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert state.state.isnumeric()
|
||||
assert state.attributes.get('unit_of_measurement') is None
|
||||
|
||||
def test_custom_setup(self):
|
||||
self.assertTrue(sensor.setup(self.hass, {
|
||||
def test_custom_setup(self, betamax_session):
|
||||
with patch('homeassistant.components.sensor.yr.requests.Session',
|
||||
return_value=betamax_session):
|
||||
assert sensor.setup(self.hass, {
|
||||
'sensor': {
|
||||
'platform': 'yr',
|
||||
'elevation': 0,
|
||||
|
@ -48,26 +55,19 @@ class TestSensorYr(unittest.TestCase):
|
|||
'windSpeed'
|
||||
}
|
||||
}
|
||||
}))
|
||||
state = self.hass.states.get('sensor.yr_symbol')
|
||||
self.assertEqual(None, state)
|
||||
})
|
||||
|
||||
state = self.hass.states.get('sensor.yr_pressure')
|
||||
self.assertEqual('hPa',
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert 'hPa', state.attributes.get('unit_of_measurement')
|
||||
|
||||
state = self.hass.states.get('sensor.yr_wind_direction')
|
||||
self.assertEqual('°',
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert '°', state.attributes.get('unit_of_measurement')
|
||||
|
||||
state = self.hass.states.get('sensor.yr_humidity')
|
||||
self.assertEqual('%',
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert '%', state.attributes.get('unit_of_measurement')
|
||||
|
||||
state = self.hass.states.get('sensor.yr_fog')
|
||||
self.assertEqual('%',
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert '%', state.attributes.get('unit_of_measurement')
|
||||
|
||||
state = self.hass.states.get('sensor.yr_wind_speed')
|
||||
self.assertEqual('m/s',
|
||||
state.attributes.get('unit_of_measurement'))
|
||||
assert 'm/s', state.attributes.get('unit_of_measurement')
|
||||
|
|
Loading…
Add table
Reference in a new issue