Files

50 lines
1.5 KiB
Python

from types import SimpleNamespace
from deerflow.config import memory_config as memory_config_module
from deerflow.config.memory_config import (
MemoryConfig,
delete_recall_budget_cache,
get_effective_memory_config,
get_memory_config,
set_memory_config,
set_recall_budget_cache,
)
def test_runtime_disable_cannot_be_reactivated_by_config_or_user_override(monkeypatch):
user_id = "memory-disabled-test-user"
original = get_memory_config()
try:
monkeypatch.setattr(
memory_config_module,
"get_memory_runtime_settings",
lambda: SimpleNamespace(enabled=False),
)
set_memory_config(MemoryConfig(enabled=True))
set_recall_budget_cache(user_id, "high")
effective = get_effective_memory_config(user_id)
assert effective.enabled is False
finally:
delete_recall_budget_cache(user_id)
set_memory_config(original)
def test_admin_runtime_enable_activates_memory_even_when_yaml_default_is_off(monkeypatch):
original = get_memory_config()
try:
monkeypatch.setattr(
memory_config_module,
"get_memory_runtime_settings",
lambda: SimpleNamespace(enabled=True),
)
set_memory_config(MemoryConfig(enabled=False, version="v1"))
effective = get_effective_memory_config("memory-enabled-test-user")
assert effective.enabled is True
assert effective.version == "v1"
finally:
set_memory_config(original)