contextforge-demo / tests /test_atom_plugin.py
Pablo
feat: APOHARA: Context Forge V5 — synthesis + rebrand complete
cf0a8ed
"""Tests for vLLMAtomPlugin — TASK-008."""
import pytest
from apohara_context_forge.serving.atom_plugin import vLLMAtomPlugin, ATOMConfig, PreAttentionHook, PostAttentionHook
class TestATOMConfig:
"""Tests for ATOMConfig."""
def test_atom_config_defaults(self):
"""ATOMConfig has sensible defaults."""
config = ATOMConfig()
assert config.enable_quantization == True
assert config.enable_anchor_routing == True
assert config.enable_cla_injection == True
assert config.quantization_mode == "rotate_kv"
class TestvLLMAtomPlugin:
"""Tests for vLLMAtomPlugin."""
def test_plugin_initialization(self):
"""Plugin initializes with ATOMConfig."""
config = ATOMConfig()
plugin = vLLMAtomPlugin(config)
assert plugin._config is config
assert plugin.is_initialized() == False
def test_initialize_sets_worker_id(self):
"""initialize() sets worker_id and marks initialized."""
config = ATOMConfig()
plugin = vLLMAtomPlugin(config)
plugin.initialize("worker_0", {})
assert plugin.is_initialized() == True
stats = plugin.get_stats()
assert stats["worker_id"] == "worker_0"
assert stats["initialized"] == True
def test_pre_attention_hook_returns_dict(self):
"""pre_attention_hook returns metadata dict."""
config = ATOMConfig(enable_quantization=True)
hook = PreAttentionHook(config)
result = hook(["b0", "b1"], [101, 2003], layer_idx=0)
assert isinstance(result, dict)
assert result["quantized"] == True
assert result["pre_rope"] == True # INVARIANT 10
assert result["layer_idx"] == 0
def test_post_attention_hook_returns_dict(self):
"""post_attention_hook returns stats dict."""
config = ATOMConfig()
hook = PostAttentionHook(config)
result = hook(["b0", "b1"], [], layer_idx=0)
assert isinstance(result, dict)
assert result["processed_blocks"] == 2
assert result["layer_idx"] == 0
def test_plugin_pre_attention_hook_property(self):
"""Plugin exposes pre_attention_hook as property."""
config = ATOMConfig()
plugin = vLLMAtomPlugin(config)
assert hasattr(plugin, "pre_attention_hook")
assert callable(plugin.pre_attention_hook)
def test_plugin_post_attention_hook_property(self):
"""Plugin exposes post_attention_hook as property."""
config = ATOMConfig()
plugin = vLLMAtomPlugin(config)
assert hasattr(plugin, "post_attention_hook")
assert callable(plugin.post_attention_hook)
def test_get_stats_returns_config_and_state(self):
"""get_stats returns configuration and state."""
config = ATOMConfig(
enable_quantization=True,
enable_anchor_routing=False,
enable_cla_injection=True,
quantization_mode="rotate_kv",
)
plugin = vLLMAtomPlugin(config)
plugin.initialize("worker_test", {})
stats = plugin.get_stats()
assert stats["initialized"] == True
assert stats["worker_id"] == "worker_test"
assert stats["config"]["enable_quantization"] == True
assert stats["config"]["quantization_mode"] == "rotate_kv"