Rewrite wsdot unittest tests to pytest style test functions (#41638)

This commit is contained in:
James Warne 2020-10-16 06:00:42 -04:00 committed by GitHub
parent 465c21e075
commit 2146dd1268
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,9 +1,6 @@
"""The tests for the WSDOT platform.""" """The tests for the WSDOT platform."""
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
import re import re
import unittest
import requests_mock
import homeassistant.components.wsdot.sensor as wsdot import homeassistant.components.wsdot.sensor as wsdot
from homeassistant.components.wsdot.sensor import ( from homeassistant.components.wsdot.sensor import (
@ -16,50 +13,40 @@ from homeassistant.components.wsdot.sensor import (
RESOURCE, RESOURCE,
SCAN_INTERVAL, 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): async def test_setup_with_config(hass):
"""Test the WSDOT platform.""" """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.""" """Mock add entities."""
if update_before_add: if update_before_add:
for entity in new_entities: for entity in new_entities:
entity.update() entity.update()
for entity in new_entities: 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 + "*") uri = re.compile(RESOURCE + "*")
mock_req.get(uri, text=load_fixture("wsdot.json")) requests_mock.get(uri, text=load_fixture("wsdot.json"))
wsdot.setup_platform(self.hass, self.config, self.add_entities) wsdot.setup_platform(hass, config, add_entities)
assert len(self.entities) == 1 assert len(entities) == 1
sensor = self.entities[0] sensor = entities[0]
assert sensor.name == "I90 EB" assert sensor.name == "I90 EB"
assert sensor.state == 11 assert sensor.state == 11
assert ( assert (