From ad8dd73596e6a26229739581d006daf9c7dc3d66 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Wed, 1 Apr 2026 10:58:27 +0200 Subject: [PATCH] fix: update ChunkAccumulator tests for DiagramStore constructor param Co-Authored-By: Claude Opus 4.6 (1M context) --- .../app/storage/ClickHouseChunkPipelineIT.java | 4 +++- .../core/ingestion/ChunkAccumulatorTest.java | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/cameleer3-server-app/src/test/java/com/cameleer3/server/app/storage/ClickHouseChunkPipelineIT.java b/cameleer3-server-app/src/test/java/com/cameleer3/server/app/storage/ClickHouseChunkPipelineIT.java index 2227ad7f..9c0c6871 100644 --- a/cameleer3-server-app/src/test/java/com/cameleer3/server/app/storage/ClickHouseChunkPipelineIT.java +++ b/cameleer3-server-app/src/test/java/com/cameleer3/server/app/storage/ClickHouseChunkPipelineIT.java @@ -3,6 +3,7 @@ package com.cameleer3.server.app.storage; import com.cameleer3.server.app.search.ClickHouseSearchIndex; import com.cameleer3.server.core.ingestion.ChunkAccumulator; import com.cameleer3.server.core.ingestion.MergedExecution; +import com.cameleer3.server.core.storage.DiagramStore; import com.cameleer3.server.core.search.ExecutionSummary; import com.cameleer3.server.core.search.SearchRequest; import com.cameleer3.server.core.search.SearchResult; @@ -63,7 +64,8 @@ class ClickHouseChunkPipelineIT { executionBuffer = new ArrayList<>(); processorBuffer = new ArrayList<>(); - accumulator = new ChunkAccumulator(executionBuffer::add, processorBuffer::add, Duration.ofMinutes(5)); + DiagramStore noOpDiagramStore = org.mockito.Mockito.mock(DiagramStore.class); + accumulator = new ChunkAccumulator(executionBuffer::add, processorBuffer::add, noOpDiagramStore, Duration.ofMinutes(5)); } @Test diff --git a/cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/ChunkAccumulatorTest.java b/cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/ChunkAccumulatorTest.java index 75771697..b5fe82f6 100644 --- a/cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/ChunkAccumulatorTest.java +++ b/cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/ChunkAccumulatorTest.java @@ -3,6 +3,7 @@ package com.cameleer3.server.core.ingestion; import com.cameleer3.common.model.ExecutionChunk; import com.cameleer3.common.model.ExecutionStatus; import com.cameleer3.common.model.FlatProcessorRecord; +import com.cameleer3.server.core.storage.DiagramStore; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -10,12 +11,21 @@ import java.time.Duration; import java.time.Instant; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; import static org.assertj.core.api.Assertions.assertThat; class ChunkAccumulatorTest { + private static final DiagramStore NO_OP_DIAGRAM_STORE = new DiagramStore() { + public void store(com.cameleer3.server.core.ingestion.TaggedDiagram d) {} + public Optional findByContentHash(String h) { return Optional.empty(); } + public Optional findContentHashForRoute(String r, String a) { return Optional.empty(); } + public Optional findContentHashForRouteByAgents(String r, List a) { return Optional.empty(); } + public Map findProcessorRouteMapping(String app) { return Map.of(); } + }; + private CopyOnWriteArrayList executionSink; private CopyOnWriteArrayList processorSink; private ChunkAccumulator accumulator; @@ -25,7 +35,7 @@ class ChunkAccumulatorTest { executionSink = new CopyOnWriteArrayList<>(); processorSink = new CopyOnWriteArrayList<>(); accumulator = new ChunkAccumulator( - executionSink::add, processorSink::add, Duration.ofMinutes(5)); + executionSink::add, processorSink::add, NO_OP_DIAGRAM_STORE, Duration.ofMinutes(5)); } @Test @@ -109,7 +119,7 @@ class ChunkAccumulatorTest { @Test void staleExchange_flushedBySweep() throws Exception { ChunkAccumulator staleAccumulator = new ChunkAccumulator( - executionSink::add, processorSink::add, Duration.ofMillis(1)); + executionSink::add, processorSink::add, NO_OP_DIAGRAM_STORE, Duration.ofMillis(1)); ExecutionChunk c = chunk("ex-3", "RUNNING", Instant.parse("2026-03-31T10:00:00Z"),