Skip to content

Commit df20e01

Browse files
author
Ismael Marchi
committed
fix(tests): patch plugin tests to work when PRO is installed
Tests that verify 'PRO not installed' behavior now mock away the synapse_memory_pro module to ensure isolation.
1 parent fb20190 commit df20e01

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

tests/test_plugin_architecture.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,10 @@ def test_oss_mode_default(self):
282282

283283
def test_pro_mode_no_package_returns_none(self):
284284
"""PRO mode without package installed returns None."""
285-
result = load_pro_plugin(mode="pro")
286-
assert result is None
285+
import sys
286+
with patch.dict(sys.modules, {"synapse_memory_pro": None}):
287+
result = load_pro_plugin(mode="pro")
288+
assert result is None
287289

288290
def test_pro_mode_with_mock_package(self):
289291
"""PRO mode with conforming package returns plugin."""
@@ -306,8 +308,10 @@ def test_pro_mode_invalid_plugin_returns_none(self):
306308

307309
def test_pro_mode_import_error(self):
308310
"""PRO mode handles ImportError gracefully."""
309-
result = load_pro_plugin(mode="pro")
310-
assert result is None # synapse_memory_pro not installed
311+
import sys
312+
with patch.dict(sys.modules, {"synapse_memory_pro": None}):
313+
result = load_pro_plugin(mode="pro")
314+
assert result is None # synapse_memory_pro not available
311315

312316
def test_pro_mode_runtime_exception(self):
313317
"""PRO mode handles runtime exceptions in plugin."""
@@ -446,15 +450,17 @@ def test_oss_ignores_installed_plugin(self):
446450

447451
def test_pro_without_package_uses_defaults(self):
448452
"""PRO mode without package falls back to defaults."""
449-
engine = AutoSaveEngine(
450-
database=FakeDatabase(),
451-
redactor=fake_redact,
452-
mode="pro",
453-
)
454-
assert isinstance(engine.importance_scorer, DefaultImportanceScorer)
455-
assert isinstance(engine.conflict_resolver, DefaultConflictResolver)
456-
assert isinstance(engine.dedup_strategy, DefaultDedupStrategy)
457-
assert engine._plugin_loaded is False
453+
import sys
454+
with patch.dict(sys.modules, {"synapse_memory_pro": None}):
455+
engine = AutoSaveEngine(
456+
database=FakeDatabase(),
457+
redactor=fake_redact,
458+
mode="pro",
459+
)
460+
assert isinstance(engine.importance_scorer, DefaultImportanceScorer)
461+
assert isinstance(engine.conflict_resolver, DefaultConflictResolver)
462+
assert isinstance(engine.dedup_strategy, DefaultDedupStrategy)
463+
assert engine._plugin_loaded is False
458464

459465
def test_pro_with_package_uses_plugin(self):
460466
"""PRO mode with package uses plugin strategies."""

0 commit comments

Comments
 (0)