Fix tests and add setup type in feedreader (#64280)

* Fix feedreader tests

* Cleanup

* Add setup type hints

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2022-01-17 09:42:00 +01:00 committed by GitHub
parent 85c6a24665
commit b9d3bb4cfd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 15 deletions

View file

@ -9,8 +9,10 @@ import feedparser
import voluptuous as vol import voluptuous as vol
from homeassistant.const import CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_START from homeassistant.const import CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_START
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.event import track_time_interval from homeassistant.helpers.event import track_time_interval
from homeassistant.helpers.typing import ConfigType
_LOGGER = getLogger(__name__) _LOGGER = getLogger(__name__)
@ -40,11 +42,11 @@ CONFIG_SCHEMA = vol.Schema(
) )
def setup(hass, config): def setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up the Feedreader component.""" """Set up the Feedreader component."""
urls = config.get(DOMAIN)[CONF_URLS] urls = config[DOMAIN][CONF_URLS]
scan_interval = config.get(DOMAIN).get(CONF_SCAN_INTERVAL) scan_interval = config[DOMAIN].get(CONF_SCAN_INTERVAL)
max_entries = config.get(DOMAIN).get(CONF_MAX_ENTRIES) max_entries = config[DOMAIN].get(CONF_MAX_ENTRIES)
data_file = hass.config.path(f"{DOMAIN}.pickle") data_file = hass.config.path(f"{DOMAIN}.pickle")
storage = StoredData(data_file) storage = StoredData(data_file)
feeds = [ feeds = [

View file

@ -1,9 +1,7 @@
"""The tests for the feedreader component.""" """The tests for the feedreader component."""
from datetime import timedelta from datetime import timedelta
from os import remove
from os.path import exists
from unittest import mock from unittest import mock
from unittest.mock import patch from unittest.mock import mock_open, patch
import pytest import pytest
@ -65,14 +63,10 @@ async def fixture_events(hass):
@pytest.fixture(name="feed_storage", autouse=True) @pytest.fixture(name="feed_storage", autouse=True)
def fixture_feed_storage(hass): def fixture_feed_storage():
"""Create storage account for feedreader.""" """Mock builtins.open for feedreader storage."""
data_file = hass.config.path(f"{feedreader.DOMAIN}.pickle") with patch("homeassistant.components.feedreader.open", mock_open(), create=True):
yield
yield
if exists(data_file):
remove(data_file)
async def test_setup_one_feed(hass): async def test_setup_one_feed(hass):