test(host_agent): ring buffer and payload builder unit tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-14 22:09:12 -04:00
parent b6b1c8adca
commit 8bed58073b
2 changed files with 79 additions and 0 deletions
@@ -0,0 +1,24 @@
from plugins.host_agent.agent import RingBuffer
def test_ring_buffer_preserves_order():
rb = RingBuffer(maxlen=3)
rb.push(1); rb.push(2); rb.push(3)
assert list(rb.drain()) == [1, 2, 3]
assert len(rb) == 0
def test_ring_buffer_drops_oldest_when_full():
rb = RingBuffer(maxlen=3)
for v in (1, 2, 3, 4, 5):
rb.push(v)
assert list(rb.drain()) == [3, 4, 5]
def test_ring_buffer_drain_clears_and_is_atomic():
rb = RingBuffer(maxlen=5)
rb.push("a"); rb.push("b")
out = list(rb.drain())
rb.push("c")
assert out == ["a", "b"]
assert list(rb.drain()) == ["c"]