Rewrite wsdot unittest tests to pytest style test functions (#41638)
This commit is contained in:
parent
465c21e075
commit
2146dd1268
1 changed files with 32 additions and 45 deletions
|
@ -1,9 +1,6 @@
|
|||
"""The tests for the WSDOT platform."""
|
||||
from datetime import datetime, timedelta, timezone
|
||||
import re
|
||||
import unittest
|
||||
|
||||
import requests_mock
|
||||
|
||||
import homeassistant.components.wsdot.sensor as wsdot
|
||||
from homeassistant.components.wsdot.sensor import (
|
||||
|
@ -16,56 +13,46 @@ from homeassistant.components.wsdot.sensor import (
|
|||
RESOURCE,
|
||||
SCAN_INTERVAL,
|
||||
)
|
||||
from homeassistant.setup import setup_component
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import get_test_home_assistant, load_fixture
|
||||
from tests.common import load_fixture
|
||||
|
||||
config = {
|
||||
CONF_API_KEY: "foo",
|
||||
SCAN_INTERVAL: timedelta(seconds=120),
|
||||
CONF_TRAVEL_TIMES: [{CONF_ID: 96, CONF_NAME: "I90 EB"}],
|
||||
}
|
||||
|
||||
|
||||
class TestWSDOT(unittest.TestCase):
|
||||
"""Test the WSDOT platform."""
|
||||
async def test_setup_with_config(hass):
|
||||
"""Test the platform setup with configuration."""
|
||||
assert await async_setup_component(hass, "sensor", {"wsdot": config})
|
||||
|
||||
def add_entities(self, new_entities, update_before_add=False):
|
||||
|
||||
async def test_setup(hass, requests_mock):
|
||||
"""Test for operational WSDOT sensor with proper attributes."""
|
||||
entities = []
|
||||
|
||||
def add_entities(new_entities, update_before_add=False):
|
||||
"""Mock add entities."""
|
||||
if update_before_add:
|
||||
for entity in new_entities:
|
||||
entity.update()
|
||||
|
||||
for entity in new_entities:
|
||||
self.entities.append(entity)
|
||||
entities.append(entity)
|
||||
|
||||
def setUp(self):
|
||||
"""Initialize values for this testcase class."""
|
||||
self.hass = get_test_home_assistant()
|
||||
self.config = {
|
||||
CONF_API_KEY: "foo",
|
||||
SCAN_INTERVAL: timedelta(seconds=120),
|
||||
CONF_TRAVEL_TIMES: [{CONF_ID: 96, CONF_NAME: "I90 EB"}],
|
||||
}
|
||||
self.entities = []
|
||||
self.addCleanup(self.tear_down_cleanup)
|
||||
|
||||
def tear_down_cleanup(self):
|
||||
"""Stop everything that was started."""
|
||||
self.hass.stop()
|
||||
|
||||
def test_setup_with_config(self):
|
||||
"""Test the platform setup with configuration."""
|
||||
assert setup_component(self.hass, "sensor", {"wsdot": self.config})
|
||||
|
||||
@requests_mock.Mocker()
|
||||
def test_setup(self, mock_req):
|
||||
"""Test for operational WSDOT sensor with proper attributes."""
|
||||
uri = re.compile(RESOURCE + "*")
|
||||
mock_req.get(uri, text=load_fixture("wsdot.json"))
|
||||
wsdot.setup_platform(self.hass, self.config, self.add_entities)
|
||||
assert len(self.entities) == 1
|
||||
sensor = self.entities[0]
|
||||
assert sensor.name == "I90 EB"
|
||||
assert sensor.state == 11
|
||||
assert (
|
||||
sensor.device_state_attributes[ATTR_DESCRIPTION]
|
||||
== "Downtown Seattle to Downtown Bellevue via I-90"
|
||||
)
|
||||
assert sensor.device_state_attributes[ATTR_TIME_UPDATED] == datetime(
|
||||
2017, 1, 21, 15, 10, tzinfo=timezone(timedelta(hours=-8))
|
||||
)
|
||||
uri = re.compile(RESOURCE + "*")
|
||||
requests_mock.get(uri, text=load_fixture("wsdot.json"))
|
||||
wsdot.setup_platform(hass, config, add_entities)
|
||||
assert len(entities) == 1
|
||||
sensor = entities[0]
|
||||
assert sensor.name == "I90 EB"
|
||||
assert sensor.state == 11
|
||||
assert (
|
||||
sensor.device_state_attributes[ATTR_DESCRIPTION]
|
||||
== "Downtown Seattle to Downtown Bellevue via I-90"
|
||||
)
|
||||
assert sensor.device_state_attributes[ATTR_TIME_UPDATED] == datetime(
|
||||
2017, 1, 21, 15, 10, tzinfo=timezone(timedelta(hours=-8))
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue