Skip to content

Commit 0030b03

Browse files
committed
Fix pytest
1 parent 2e808a7 commit 0030b03

File tree

5 files changed

+21
-69
lines changed

5 files changed

+21
-69
lines changed

tests/api/test_security.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,10 @@ async def test_api_security_options_pwned(api_client, coresys: CoreSys):
4141
async def test_api_integrity_check(
4242
api_client, coresys: CoreSys, supervisor_internet: AsyncMock
4343
):
44-
"""Test security integrity check."""
45-
coresys.security.content_trust = False
46-
44+
"""Test security integrity check - now deprecated."""
4745
resp = await api_client.post("/security/integrity")
4846
result = await resp.json()
4947

50-
assert result["data"]["core"] == "untested"
51-
assert result["data"]["supervisor"] == "untested"
48+
# CodeNotary integrity check has been removed
49+
assert "error" in result["data"]
50+
assert "deprecated" in result["data"]["error"].lower()

tests/docker/test_interface.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,6 @@
3131
from tests.common import load_json_fixture
3232

3333

34-
@pytest.fixture(autouse=True)
35-
def mock_verify_content(coresys: CoreSys):
36-
"""Mock verify_content utility during tests."""
37-
with patch.object(
38-
coresys.security, "verify_content", return_value=None
39-
) as verify_content:
40-
yield verify_content
41-
42-
4334
@pytest.mark.parametrize(
4435
"cpu_arch, platform",
4536
[

tests/plugins/test_plugin_base.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
AudioJobError,
1818
CliError,
1919
CliJobError,
20-
CodeNotaryUntrusted,
2120
CoreDNSError,
2221
CoreDNSJobError,
2322
DockerError,
@@ -337,14 +336,12 @@ async def test_repair_failed(
337336
patch.object(
338337
DockerInterface, "arch", new=PropertyMock(return_value=CpuArch.AMD64)
339338
),
340-
patch(
341-
"supervisor.security.module.cas_validate", side_effect=CodeNotaryUntrusted
342-
),
339+
patch.object(DockerInterface, "install", side_effect=DockerError),
343340
):
344341
await plugin.repair()
345342

346343
capture_exception.assert_called_once()
347-
assert check_exception_chain(capture_exception.call_args[0][0], CodeNotaryUntrusted)
344+
assert check_exception_chain(capture_exception.call_args[0][0], DockerError)
348345

349346

350347
@pytest.mark.parametrize(
Lines changed: 12 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,22 @@
11
"""Test evaluation base."""
22

33
# pylint: disable=import-error,protected-access
4-
import errno
5-
import os
6-
from pathlib import Path
7-
from unittest.mock import AsyncMock, patch
4+
from unittest.mock import patch
85

96
from supervisor.const import CoreState
107
from supervisor.coresys import CoreSys
11-
from supervisor.exceptions import CodeNotaryError, CodeNotaryUntrusted
12-
from supervisor.resolution.const import ContextType, IssueType
13-
from supervisor.resolution.data import Issue
148
from supervisor.resolution.evaluations.source_mods import EvaluateSourceMods
159

1610

1711
async def test_evaluation(coresys: CoreSys):
18-
"""Test evaluation."""
19-
with patch(
20-
"supervisor.resolution.evaluations.source_mods._SUPERVISOR_SOURCE",
21-
Path(f"{os.getcwd()}/supervisor"),
22-
):
23-
sourcemods = EvaluateSourceMods(coresys)
24-
await coresys.core.set_state(CoreState.RUNNING)
25-
26-
assert sourcemods.reason not in coresys.resolution.unsupported
27-
coresys.security.verify_own_content = AsyncMock(side_effect=CodeNotaryUntrusted)
28-
await sourcemods()
29-
assert sourcemods.reason in coresys.resolution.unsupported
30-
31-
coresys.security.verify_own_content = AsyncMock(side_effect=CodeNotaryError)
32-
await sourcemods()
33-
assert sourcemods.reason not in coresys.resolution.unsupported
12+
"""Test evaluation - CodeNotary removed."""
13+
sourcemods = EvaluateSourceMods(coresys)
14+
await coresys.core.set_state(CoreState.RUNNING)
3415

35-
coresys.security.verify_own_content = AsyncMock()
36-
await sourcemods()
37-
assert sourcemods.reason not in coresys.resolution.unsupported
16+
# CodeNotary checking removed, evaluation always returns False now
17+
assert sourcemods.reason not in coresys.resolution.unsupported
18+
await sourcemods()
19+
assert sourcemods.reason not in coresys.resolution.unsupported
3820

3921

4022
async def test_did_run(coresys: CoreSys):
@@ -63,27 +45,11 @@ async def test_did_run(coresys: CoreSys):
6345

6446

6547
async def test_evaluation_error(coresys: CoreSys):
66-
"""Test error reading file during evaluation."""
48+
"""Test error reading file during evaluation - CodeNotary removed."""
6749
sourcemods = EvaluateSourceMods(coresys)
6850
await coresys.core.set_state(CoreState.RUNNING)
69-
corrupt_fs = Issue(IssueType.CORRUPT_FILESYSTEM, ContextType.SYSTEM)
7051

52+
# CodeNotary checking removed, evaluation always returns False now
53+
assert sourcemods.reason not in coresys.resolution.unsupported
54+
await sourcemods()
7155
assert sourcemods.reason not in coresys.resolution.unsupported
72-
assert corrupt_fs not in coresys.resolution.issues
73-
74-
with patch(
75-
"supervisor.utils.codenotary.dirhash",
76-
side_effect=(err := OSError()),
77-
):
78-
err.errno = errno.EBUSY
79-
await sourcemods()
80-
assert sourcemods.reason not in coresys.resolution.unsupported
81-
assert corrupt_fs in coresys.resolution.issues
82-
assert coresys.core.healthy is True
83-
84-
coresys.resolution.dismiss_issue(corrupt_fs)
85-
err.errno = errno.EBADMSG
86-
await sourcemods()
87-
assert sourcemods.reason not in coresys.resolution.unsupported
88-
assert corrupt_fs in coresys.resolution.issues
89-
assert coresys.core.healthy is False

tests/test_updater.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ async def test_os_update_path(
8686
"""Test OS upgrade path across major versions."""
8787
coresys.os._board = "rpi4" # pylint: disable=protected-access
8888
coresys.os._version = AwesomeVersion(version) # pylint: disable=protected-access
89-
with patch.object(type(coresys.security), "verify_own_content"):
90-
await coresys.updater.fetch_data()
89+
# CodeNotary verification removed
90+
await coresys.updater.fetch_data()
9191

92-
assert coresys.updater.version_hassos == AwesomeVersion(expected)
92+
assert coresys.updater.version_hassos == AwesomeVersion(expected)
9393

9494

9595
@pytest.mark.usefixtures("no_job_throttle")
@@ -105,7 +105,6 @@ async def test_delayed_fetch_for_connectivity(
105105
load_binary_fixture("version_stable.json")
106106
)
107107
coresys.websession.head = AsyncMock()
108-
coresys.security.verify_own_content = AsyncMock()
109108

110109
# Network connectivity change causes a series of async tasks to eventually do a version fetch
111110
# Rather then use some kind of sleep loop, set up listener for start of fetch data job

0 commit comments

Comments
 (0)