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