|
8 | 8 |
|
9 | 9 | from supervisor.const import CoreState |
10 | 10 | from supervisor.coresys import CoreSys |
| 11 | +from supervisor.homeassistant.const import LANDINGPAGE |
11 | 12 | from supervisor.homeassistant.module import HomeAssistant |
12 | 13 | from supervisor.resolution.evaluations.core_version import EvaluateCoreVersion |
13 | 14 |
|
|
22 | 23 | (f"{datetime.now().year - 2}.1", True), # 2 years old, unsupported |
23 | 24 | (f"{datetime.now().year - 3}.1", True), # 3 years old, unsupported |
24 | 25 | ("2021.6.0", True), # Very old version, unsupported |
| 26 | + ("landingpage", False), # Landingpage version, should be supported |
25 | 27 | (None, False), # No current version info, check skipped |
26 | 28 | ], |
27 | 29 | ) |
@@ -96,6 +98,29 @@ async def test_core_version_invalid_format(coresys: CoreSys): |
96 | 98 | assert evaluation.reason not in coresys.resolution.unsupported |
97 | 99 |
|
98 | 100 |
|
| 101 | +async def test_core_version_landingpage(coresys: CoreSys): |
| 102 | + """Test evaluation with landingpage version.""" |
| 103 | + evaluation = EvaluateCoreVersion(coresys) |
| 104 | + await coresys.core.set_state(CoreState.RUNNING) |
| 105 | + |
| 106 | + with ( |
| 107 | + patch.object( |
| 108 | + HomeAssistant, |
| 109 | + "version", |
| 110 | + new=PropertyMock(return_value=LANDINGPAGE), |
| 111 | + ), |
| 112 | + patch.object( |
| 113 | + HomeAssistant, |
| 114 | + "latest_version", |
| 115 | + new=PropertyMock(return_value=AwesomeVersion("2024.12.0")), |
| 116 | + ), |
| 117 | + ): |
| 118 | + assert evaluation.reason not in coresys.resolution.unsupported |
| 119 | + await evaluation() |
| 120 | + # Landingpage should never be marked as unsupported |
| 121 | + assert evaluation.reason not in coresys.resolution.unsupported |
| 122 | + |
| 123 | + |
99 | 124 | async def test_did_run(coresys: CoreSys): |
100 | 125 | """Test that the evaluation ran as expected.""" |
101 | 126 | evaluation = EvaluateCoreVersion(coresys) |
|
0 commit comments