core/tests/components/tibber/test_common.py

61 lines
1.5 KiB
Python

"""Test common."""
import datetime as dt
from unittest.mock import AsyncMock
CONSUMPTION_DATA_1 = [
{
"from": "2022-01-03T00:00:00.000+01:00",
"totalCost": 1.1,
"consumption": 2.1,
},
{
"from": "2022-01-03T01:00:00.000+01:00",
"totalCost": 1.2,
"consumption": 2.2,
},
{
"from": "2022-01-03T02:00:00.000+01:00",
"totalCost": 1.3,
"consumption": 2.3,
},
]
PRODUCTION_DATA_1 = [
{
"from": "2022-01-03T00:00:00.000+01:00",
"profit": 0.1,
"production": 3.1,
},
{
"from": "2022-01-03T01:00:00.000+01:00",
"profit": 0.2,
"production": 3.2,
},
{
"from": "2022-01-03T02:00:00.000+01:00",
"profit": 0.3,
"production": 3.3,
},
]
def mock_get_homes(only_active=True):
"""Return a list of mocked Tibber homes."""
tibber_home = AsyncMock()
tibber_home.name = "Name"
tibber_home.home_id = "home_id"
tibber_home.currency = "NOK"
tibber_home.has_active_subscription = True
tibber_home.has_real_time_consumption = False
tibber_home.country = "NO"
tibber_home.last_cons_data_timestamp = dt.datetime(2016, 1, 1, 12, 44, 57)
tibber_home.last_data_timestamp = dt.datetime(2016, 1, 1, 12, 48, 57)
def get_historic_data(n_data, resolution="HOURLY", production=False):
return PRODUCTION_DATA_1 if production else CONSUMPTION_DATA_1
tibber_home.get_historic_data.side_effect = get_historic_data
return [tibber_home]