Private
Public Access
test(auto-whitelist): use dataclasses.replace for frozen Session mutation
tests/test_auto_whitelist.py:20 did `reg.data[session_id]["whitelisted"] = True`. Session is @dataclass(frozen=True) so attribute assignment raises FrozenInstanceError. Changed to: reg.data[session_id] = dataclasses.replace(reg.data[session_id], whitelisted=True) which produces a new Session instance with whitelisted overridden. Verification: uv run pytest tests/test_auto_whitelist.py -v -> 4 passed (was 1 failed).
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import dataclasses
|
||||||
import pytest
|
import pytest
|
||||||
from src.log_registry import LogRegistry
|
from src.log_registry import LogRegistry
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@@ -17,7 +18,7 @@ def test_auto_whitelist_keywords(registry_setup: LogRegistry) -> None:
|
|||||||
reg.register_session(session_id, "logs", start_time)
|
reg.register_session(session_id, "logs", start_time)
|
||||||
|
|
||||||
# Manual override for testing if log files don't exist
|
# Manual override for testing if log files don't exist
|
||||||
reg.data[session_id]["whitelisted"] = True
|
reg.data[session_id] = dataclasses.replace(reg.data[session_id], whitelisted=True)
|
||||||
assert reg.is_session_whitelisted(session_id) is True
|
assert reg.is_session_whitelisted(session_id) is True
|
||||||
|
|
||||||
def test_auto_whitelist_message_count(registry_setup: LogRegistry) -> None:
|
def test_auto_whitelist_message_count(registry_setup: LogRegistry) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user