From 5b0282e56d85438ece3c2afa23bf40cec1039b6c Mon Sep 17 00:00:00 2001 From: Alexander Pitkin Date: Wed, 7 Oct 2020 01:40:28 +0300 Subject: [PATCH] Rewrite panel_iframe unittest tests to pytest style tests (#41368) --- tests/components/panel_iframe/test_init.py | 161 ++++++++++----------- 1 file changed, 74 insertions(+), 87 deletions(-) diff --git a/tests/components/panel_iframe/test_init.py b/tests/components/panel_iframe/test_init.py index 7d42c4d03d3..5a52e4af3e7 100644 --- a/tests/components/panel_iframe/test_init.py +++ b/tests/components/panel_iframe/test_init.py @@ -1,100 +1,87 @@ """The tests for the panel_iframe component.""" -import unittest +import pytest -from homeassistant import setup from homeassistant.components import frontend - -from tests.async_mock import patch -from tests.common import get_test_home_assistant +from homeassistant.setup import async_setup_component -class TestPanelIframe(unittest.TestCase): - """Test the panel_iframe component.""" +@pytest.mark.parametrize( + "config_to_try", + ( + {"invalid space": {"url": "https://home-assistant.io"}}, + {"router": {"url": "not-a-url"}}, + ), +) +async def test_wrong_config(hass, config_to_try): + """Test setup with wrong configuration.""" + assert not await async_setup_component( + hass, "panel_iframe", {"panel_iframe": config_to_try} + ) - def setUp(self): - """Set up things to be run when tests are started.""" - self.hass = get_test_home_assistant() - self.addCleanup(self.hass.stop) - def test_wrong_config(self): - """Test setup with wrong configuration.""" - to_try = [ - {"invalid space": {"url": "https://home-assistant.io"}}, - {"router": {"url": "not-a-url"}}, - ] - - for conf in to_try: - with patch( - "homeassistant.components.http.start_http_server_and_save_config" - ): - assert not setup.setup_component( - self.hass, "panel_iframe", {"panel_iframe": conf} - ) - - def test_correct_config(self): - """Test correct config.""" - with patch("homeassistant.components.http.start_http_server_and_save_config"): - assert setup.setup_component( - self.hass, - "panel_iframe", - { - "panel_iframe": { - "router": { - "icon": "mdi:network-wireless", - "title": "Router", - "url": "http://192.168.1.1", - "require_admin": True, - }, - "weather": { - "icon": "mdi:weather", - "title": "Weather", - "url": "https://www.wunderground.com/us/ca/san-diego", - "require_admin": True, - }, - "api": {"icon": "mdi:weather", "title": "Api", "url": "/api"}, - "ftp": { - "icon": "mdi:weather", - "title": "FTP", - "url": "ftp://some/ftp", - }, - } +async def test_correct_config(hass): + """Test correct config.""" + assert await async_setup_component( + hass, + "panel_iframe", + { + "panel_iframe": { + "router": { + "icon": "mdi:network-wireless", + "title": "Router", + "url": "http://192.168.1.1", + "require_admin": True, }, - ) + "weather": { + "icon": "mdi:weather", + "title": "Weather", + "url": "https://www.wunderground.com/us/ca/san-diego", + "require_admin": True, + }, + "api": {"icon": "mdi:weather", "title": "Api", "url": "/api"}, + "ftp": { + "icon": "mdi:weather", + "title": "FTP", + "url": "ftp://some/ftp", + }, + } + }, + ) - panels = self.hass.data[frontend.DATA_PANELS] + panels = hass.data[frontend.DATA_PANELS] - assert panels.get("router").to_response() == { - "component_name": "iframe", - "config": {"url": "http://192.168.1.1"}, - "icon": "mdi:network-wireless", - "title": "Router", - "url_path": "router", - "require_admin": True, - } + assert panels.get("router").to_response() == { + "component_name": "iframe", + "config": {"url": "http://192.168.1.1"}, + "icon": "mdi:network-wireless", + "title": "Router", + "url_path": "router", + "require_admin": True, + } - assert panels.get("weather").to_response() == { - "component_name": "iframe", - "config": {"url": "https://www.wunderground.com/us/ca/san-diego"}, - "icon": "mdi:weather", - "title": "Weather", - "url_path": "weather", - "require_admin": True, - } + assert panels.get("weather").to_response() == { + "component_name": "iframe", + "config": {"url": "https://www.wunderground.com/us/ca/san-diego"}, + "icon": "mdi:weather", + "title": "Weather", + "url_path": "weather", + "require_admin": True, + } - assert panels.get("api").to_response() == { - "component_name": "iframe", - "config": {"url": "/api"}, - "icon": "mdi:weather", - "title": "Api", - "url_path": "api", - "require_admin": False, - } + assert panels.get("api").to_response() == { + "component_name": "iframe", + "config": {"url": "/api"}, + "icon": "mdi:weather", + "title": "Api", + "url_path": "api", + "require_admin": False, + } - assert panels.get("ftp").to_response() == { - "component_name": "iframe", - "config": {"url": "ftp://some/ftp"}, - "icon": "mdi:weather", - "title": "FTP", - "url_path": "ftp", - "require_admin": False, - } + assert panels.get("ftp").to_response() == { + "component_name": "iframe", + "config": {"url": "ftp://some/ftp"}, + "icon": "mdi:weather", + "title": "FTP", + "url_path": "ftp", + "require_admin": False, + }