|
|
|
@ -7,6 +7,7 @@ import json
|
|
|
|
|
from typing import Any
|
|
|
|
|
from unittest.mock import AsyncMock, MagicMock, patch
|
|
|
|
|
|
|
|
|
|
from packaging.version import Version
|
|
|
|
|
from plugwise import PlugwiseData
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
@ -67,7 +68,7 @@ def mock_smile_config_flow() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Test Model"
|
|
|
|
|
smile.smile_model_id = "Test Model ID"
|
|
|
|
|
smile.smile_name = "Test Smile Name"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.3.2")
|
|
|
|
|
yield smile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -89,7 +90,7 @@ def mock_smile_adam() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_open_therm"
|
|
|
|
|
smile.smile_name = "Adam"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("3.0.15")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -116,7 +117,7 @@ def mock_smile_adam_2() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_open_therm"
|
|
|
|
|
smile.smile_name = "Adam"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("3.6.4")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -143,7 +144,7 @@ def mock_smile_adam_3() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_open_therm"
|
|
|
|
|
smile.smile_name = "Adam"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("3.6.4")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -170,7 +171,7 @@ def mock_smile_adam_4() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_open_therm"
|
|
|
|
|
smile.smile_name = "Adam"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("3.2.8")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -196,7 +197,7 @@ def mock_smile_anna() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_thermo"
|
|
|
|
|
smile.smile_name = "Smile Anna"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.0.15")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -222,7 +223,7 @@ def mock_smile_anna_2() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_thermo"
|
|
|
|
|
smile.smile_name = "Smile Anna"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.0.15")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -248,7 +249,7 @@ def mock_smile_anna_3() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile_thermo"
|
|
|
|
|
smile.smile_name = "Smile Anna"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.0.15")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -274,7 +275,7 @@ def mock_smile_p1() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile"
|
|
|
|
|
smile.smile_name = "Smile P1"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.4.2")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -300,7 +301,7 @@ def mock_smile_p1_2() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = "smile"
|
|
|
|
|
smile.smile_name = "Smile P1"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("4.4.2")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -326,9 +327,7 @@ def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = None
|
|
|
|
|
smile.smile_name = "Smile Anna"
|
|
|
|
|
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
|
|
|
|
|
smile.connect.return_value = Version("1.8.22")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
@ -354,7 +353,7 @@ def mock_stretch() -> Generator[MagicMock]:
|
|
|
|
|
smile.smile_model = "Gateway"
|
|
|
|
|
smile.smile_model_id = None
|
|
|
|
|
smile.smile_name = "Stretch"
|
|
|
|
|
smile.connect.return_value = True
|
|
|
|
|
smile.connect.return_value = Version("3.1.11")
|
|
|
|
|
all_data = _read_json(chosen_env, "all_data")
|
|
|
|
|
smile.async_update.return_value = PlugwiseData(
|
|
|
|
|
all_data["gateway"], all_data["devices"]
|
|
|
|
|