From 7ab0e426264707fb85ee38d0a9a73caf41899635 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 29 八月 2026 13:11:40 +0800
Subject: [PATCH] 实现采集器独立实时与历史采样模拟

---
 ruoyi-admin/src/test/java/com/ruoyi/config/RedisStateStoreTest.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/test/java/com/ruoyi/config/RedisStateStoreTest.java b/ruoyi-admin/src/test/java/com/ruoyi/config/RedisStateStoreTest.java
index 94f9d19..6ccc48d 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/config/RedisStateStoreTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/config/RedisStateStoreTest.java
@@ -62,6 +62,26 @@
     }
 
     @Test
+    void upgradesLegacyCollectorDiscoveryStateWithSamplingDefaults()
+    {
+        AtomicReference<Object> stored = new AtomicReference<>("{\"version\":1,\"devices\":[],"
+                + "\"collectors\":[{\"collectorId\":1,\"deviceCode\":\"dev-sim-collector-1\","
+                + "\"ip\":\"127.0.1.2\",\"mac\":\"02:43:00:00:00:01\","
+                + "\"name\":\"模拟采集器\",\"manufacturer\":\"开发模拟器\","
+                + "\"model\":\"Virtual Collector\",\"channelCount\":2,\"online\":true}],"
+                + "\"nextDeviceId\":1,\"nextCollectorId\":2,\"tombstones\":[]}");
+
+        SimulatorState restored = store(stored).loadOrInitialize(state(1, "127.0.0.2"));
+
+        CollectorState collector = restored.collectors().get(0);
+        assertEquals(1000, collector.sampleIntervalMs());
+        assertEquals(1L, collector.nextSequence());
+        assertEquals(List.of("S-01", "S-02"),
+                collector.channels().stream().map(channel -> channel.channelCode()).toList());
+        assertEquals(List.of(), collector.history());
+    }
+
+    @Test
     void rejectsIncompatibleVersionWithoutOverwritingIt()
     {
         AtomicReference<Object> stored = new AtomicReference<>("{\"version\":2,\"devices\":[],"

--
Gitblit v1.7.1