From b9d3bb4cfdf4a2314c53eaef6a201d0d8ca19dec Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 17 Jan 2022 09:42:00 +0100 Subject: [PATCH] Fix tests and add setup type in feedreader (#64280) * Fix feedreader tests * Cleanup * Add setup type hints Co-authored-by: epenet --- homeassistant/components/feedreader/__init__.py | 10 ++++++---- tests/components/feedreader/test_init.py | 16 +++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/feedreader/__init__.py b/homeassistant/components/feedreader/__init__.py index b4d8c1ff75e..a4cd546aa16 100644 --- a/homeassistant/components/feedreader/__init__.py +++ b/homeassistant/components/feedreader/__init__.py @@ -9,8 +9,10 @@ import feedparser import voluptuous as vol from homeassistant.const import CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_START +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import track_time_interval +from homeassistant.helpers.typing import ConfigType _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.""" - urls = config.get(DOMAIN)[CONF_URLS] - scan_interval = config.get(DOMAIN).get(CONF_SCAN_INTERVAL) - max_entries = config.get(DOMAIN).get(CONF_MAX_ENTRIES) + urls = config[DOMAIN][CONF_URLS] + scan_interval = config[DOMAIN].get(CONF_SCAN_INTERVAL) + max_entries = config[DOMAIN].get(CONF_MAX_ENTRIES) data_file = hass.config.path(f"{DOMAIN}.pickle") storage = StoredData(data_file) feeds = [ diff --git a/tests/components/feedreader/test_init.py b/tests/components/feedreader/test_init.py index a10018f9b2e..34f27c36a6c 100644 --- a/tests/components/feedreader/test_init.py +++ b/tests/components/feedreader/test_init.py @@ -1,9 +1,7 @@ """The tests for the feedreader component.""" from datetime import timedelta -from os import remove -from os.path import exists from unittest import mock -from unittest.mock import patch +from unittest.mock import mock_open, patch import pytest @@ -65,14 +63,10 @@ async def fixture_events(hass): @pytest.fixture(name="feed_storage", autouse=True) -def fixture_feed_storage(hass): - """Create storage account for feedreader.""" - data_file = hass.config.path(f"{feedreader.DOMAIN}.pickle") - - yield - - if exists(data_file): - remove(data_file) +def fixture_feed_storage(): + """Mock builtins.open for feedreader storage.""" + with patch("homeassistant.components.feedreader.open", mock_open(), create=True): + yield async def test_setup_one_feed(hass):