From 6b409dc8119d55826f8ecaaad4d12c60e7785396 Mon Sep 17 00:00:00 2001 From: CurrentThread <62957822+CurrentThread@users.noreply.github.com> Date: Mon, 19 Oct 2020 12:10:53 +0200 Subject: [PATCH] Rewrite filesize unittest tests to pytest style test functions (#41421) --- tests/components/filesize/test_sensor.py | 56 +++++++++++------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/tests/components/filesize/test_sensor.py b/tests/components/filesize/test_sensor.py index e0633d69d03..53a6946cd45 100644 --- a/tests/components/filesize/test_sensor.py +++ b/tests/components/filesize/test_sensor.py @@ -1,15 +1,15 @@ """The tests for the filesize sensor.""" import os -import unittest + +import pytest from homeassistant import config as hass_config from homeassistant.components.filesize import DOMAIN from homeassistant.components.filesize.sensor import CONF_FILE_PATHS from homeassistant.const import SERVICE_RELOAD -from homeassistant.setup import async_setup_component, setup_component +from homeassistant.setup import async_setup_component from tests.async_mock import patch -from tests.common import get_test_home_assistant TEST_DIR = os.path.join(os.path.dirname(__file__)) TEST_FILE = os.path.join(TEST_DIR, "mock_file_test_filesize.txt") @@ -21,40 +21,36 @@ def create_file(path): test_file.write("test") -class TestFileSensor(unittest.TestCase): - """Test the filesize sensor.""" +@pytest.fixture(autouse=True) +def remove_file(): + """Remove test file.""" + if os.path.isfile(TEST_FILE): + os.remove(TEST_FILE) - def setup_method(self, method): - """Set up things to be run when tests are started.""" - self.hass = get_test_home_assistant() - self.hass.config.allowlist_external_dirs = {TEST_DIR} - def teardown_method(self, method): - """Stop everything that was started.""" - if os.path.isfile(TEST_FILE): - os.remove(TEST_FILE) - self.hass.stop() +async def test_invalid_path(hass): + """Test that an invalid path is caught.""" + config = {"sensor": {"platform": "filesize", CONF_FILE_PATHS: ["invalid_path"]}} + assert await async_setup_component(hass, "sensor", config) + await hass.async_block_till_done() + assert len(hass.states.async_entity_ids()) == 0 - def test_invalid_path(self): - """Test that an invalid path is caught.""" - config = {"sensor": {"platform": "filesize", CONF_FILE_PATHS: ["invalid_path"]}} - assert setup_component(self.hass, "sensor", config) - assert len(self.hass.states.entity_ids()) == 0 - def test_valid_path(self): - """Test for a valid path.""" - create_file(TEST_FILE) - config = {"sensor": {"platform": "filesize", CONF_FILE_PATHS: [TEST_FILE]}} - assert setup_component(self.hass, "sensor", config) - self.hass.block_till_done() - assert len(self.hass.states.entity_ids()) == 1 - state = self.hass.states.get("sensor.mock_file_test_filesize_txt") - assert state.state == "0.0" - assert state.attributes.get("bytes") == 4 +async def test_valid_path(hass): + """Test for a valid path.""" + create_file(TEST_FILE) + config = {"sensor": {"platform": "filesize", CONF_FILE_PATHS: [TEST_FILE]}} + hass.config.allowlist_external_dirs = {TEST_DIR} + assert await async_setup_component(hass, "sensor", config) + await hass.async_block_till_done() + assert len(hass.states.async_entity_ids()) == 1 + state = hass.states.get("sensor.mock_file_test_filesize_txt") + assert state.state == "0.0" + assert state.attributes.get("bytes") == 4 async def test_reload(hass, tmpdir): - """Verify we can reload filter sensors.""" + """Verify we can reload filesize sensors.""" testfile = f"{tmpdir}/file" await hass.async_add_executor_job(create_file, testfile) with patch.object(hass.config, "is_allowed_path", return_value=True):