"""The tests for the Open Hardware Monitor platform."""
import unittest

import requests_mock

from homeassistant.setup import setup_component

from tests.common import get_test_home_assistant, load_fixture


class TestOpenHardwareMonitorSetup(unittest.TestCase):
    """Test the Open Hardware Monitor platform."""

    def setUp(self):
        """Initialize values for this testcase class."""
        self.hass = get_test_home_assistant()
        self.config = {
            "sensor": {
                "platform": "openhardwaremonitor",
                "host": "localhost",
                "port": 8085,
            }
        }
        self.addCleanup(self.tear_down_cleanup)

    def tear_down_cleanup(self):
        """Stop everything that was started."""
        self.hass.stop()

    @requests_mock.Mocker()
    def test_setup(self, mock_req):
        """Test for successfully setting up the platform."""
        mock_req.get(
            "http://localhost:8085/data.json",
            text=load_fixture("openhardwaremonitor.json"),
        )

        assert setup_component(self.hass, "sensor", self.config)
        self.hass.block_till_done()
        entities = self.hass.states.async_entity_ids("sensor")
        assert len(entities) == 38

        state = self.hass.states.get(
            "sensor.test_pc_intel_core_i7_7700_temperatures_cpu_core_1"
        )

        assert state is not None
        assert state.state == "31.0"

        state = self.hass.states.get(
            "sensor.test_pc_intel_core_i7_7700_temperatures_cpu_core_2"
        )

        assert state is not None
        assert state.state == "30.0"

"""The tests for the Open Hardware Monitor platform."""
from homeassistant.setup import async_setup_component

from tests.common import load_fixture


async def test_setup(hass, requests_mock):
    """Test for successfully setting up the platform."""
    config = {
        "sensor": {
            "platform": "openhardwaremonitor",
            "host": "localhost",
            "port": 8085,
        }
    }

    requests_mock.get(
        "http://localhost:8085/data.json",
        text=load_fixture("openhardwaremonitor.json"),
    )

    await async_setup_component(hass, "sensor", config)
    await hass.async_block_till_done()

    entities = hass.states.async_entity_ids("sensor")
    assert len(entities) == 38

    state = hass.states.get("sensor.test_pc_intel_core_i7_7700_temperatures_cpu_core_1")

    assert state is not None
    assert state.state == "31.0"

    state = hass.states.get("sensor.test_pc_intel_core_i7_7700_temperatures_cpu_core_2")

    assert state is not None
    assert state.state == "30.0"

Rewrite openhardwaremonitor tests to pytest style test functions (#41157)