50 lines
1.5 KiB
Python
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)
|