Просмотр исходного кода

test: 修复 mqy20260511 合并后的测试编译和运行时失败

mqy20260511
humanleft 2 недель назад
Родитель
Сommit
1874089606

+ 3
- 8
iot-platform/src/test/java/com/iot/platform/mqtt/MqttChargeStationConsumerTest.java Просмотреть файл

96
         List<Map<String, Object>> dataList = Collections.singletonList(data1);
96
         List<Map<String, Object>> dataList = Collections.singletonList(data1);
97
         String topic = "prefix/myDb/suffix/mySuperTable/extra";
97
         String topic = "prefix/myDb/suffix/mySuperTable/extra";
98
 
98
 
99
-        LocalDate now = LocalDate.now();
100
-        String expectedTable = "mySuperTable_" + now.getYear() + String.format("%02d", now.getMonthValue());
101
-
102
         method.invoke(consumer, dataList, topic);
99
         method.invoke(consumer, dataList, topic);
103
 
100
 
104
-        verify(tdengineService).insertBatch(eq("myDb"), "mySuperTable_",eq(expectedTable), anyList());
101
+        verify(tdengineService).insertBatch(eq("pe_iot_my"), eq("mySuperTable"), eq("myDb"), anyList());
105
     }
102
     }
106
 
103
 
107
     @Test
104
     @Test
113
 
110
 
114
         method.invoke(consumer, Collections.emptyList(), "prefix/db/suffix/table/extra");
111
         method.invoke(consumer, Collections.emptyList(), "prefix/db/suffix/table/extra");
115
 
112
 
116
-        verify(tdengineService, never()).insertBatch(anyString(), "mySuperTable_",anyString(), anyList());
113
+        verify(tdengineService, never()).insertBatch(anyString(), anyString(), anyString(), anyList());
117
     }
114
     }
118
 
115
 
119
     @Test
116
     @Test
146
         dataList.add(valid);
143
         dataList.add(valid);
147
 
144
 
148
         String topic = "prefix/myDb/suffix/mySuperTable/extra";
145
         String topic = "prefix/myDb/suffix/mySuperTable/extra";
149
-        LocalDate now = LocalDate.now();
150
-        String expectedTable = "mySuperTable_" + now.getYear() + String.format("%02d", now.getMonthValue());
151
 
146
 
152
         method.invoke(consumer, dataList, topic);
147
         method.invoke(consumer, dataList, topic);
153
 
148
 
154
-        verify(tdengineService).insertBatch(eq("myDb"), "mySuperTable_",eq(expectedTable), argThat(list -> list.size() == 1));
149
+        verify(tdengineService).insertBatch(eq("pe_iot_my"), eq("mySuperTable"), eq("myDb"), argThat(list -> list.size() == 1));
155
     }
150
     }
156
 }
151
 }

+ 6
- 6
iot-platform/src/test/java/com/iot/platform/service/SysRealtimeServiceTest.java Просмотреть файл

54
     @Test
54
     @Test
55
     @DisplayName("insertTables: 非法表名应抛出异常且不调用 mapper")
55
     @DisplayName("insertTables: 非法表名应抛出异常且不调用 mapper")
56
     void inserttables_invalidTableName_throwsWithoutCallingMapper() {
56
     void inserttables_invalidTableName_throwsWithoutCallingMapper() {
57
-        assertThatThrownBy(() -> service.insertTables("bad;name", "2024-01-01", "D1", "ts", "k", "v"))
57
+        assertThatThrownBy(() -> service.insertTables("bad;name", "2024-01-01", "C1", "D1", "ts", "k", "v"))
58
             .isInstanceOf(IllegalArgumentException.class);
58
             .isInstanceOf(IllegalArgumentException.class);
59
         verifyNoInteractions(sysRealtimeMapper);
59
         verifyNoInteractions(sysRealtimeMapper);
60
     }
60
     }
62
     @Test
62
     @Test
63
     @DisplayName("updateTables: 合法表名应调用 mapper")
63
     @DisplayName("updateTables: 合法表名应调用 mapper")
64
     void updatetables_validTableName_callsMapper() {
64
     void updatetables_validTableName_callsMapper() {
65
-        service.updateTables("dev_001", "2024-01-01", "v1", "ts", "key1", "D1");
66
-        verify(sysRealtimeMapper).updateTables("dev_001", "2024-01-01", "v1", "ts", "key1", "D1");
65
+        service.updateTables("dev_001", "2024-01-01", "v1", "ts", "key1", "C1", "D1");
66
+        verify(sysRealtimeMapper).updateTables("dev_001", "2024-01-01", "v1", "ts", "key1", "C1", "D1");
67
     }
67
     }
68
 
68
 
69
     @Test
69
     @Test
70
     @DisplayName("selectKey: 非法表名应抛出异常")
70
     @DisplayName("selectKey: 非法表名应抛出异常")
71
     void selectkey_invalidTableName_throws() {
71
     void selectkey_invalidTableName_throws() {
72
-        assertThatThrownBy(() -> service.selectKey("--comment", "k"))
72
+        assertThatThrownBy(() -> service.selectKey("--comment", "k", "C1"))
73
             .isInstanceOf(IllegalArgumentException.class)
73
             .isInstanceOf(IllegalArgumentException.class)
74
             .hasMessageContaining("非法表名");
74
             .hasMessageContaining("非法表名");
75
     }
75
     }
77
     @Test
77
     @Test
78
     @DisplayName("selectAllKeys: 合法表名应调用 mapper")
78
     @DisplayName("selectAllKeys: 合法表名应调用 mapper")
79
     void selectAllKeys_validTableName_callsMapper() {
79
     void selectAllKeys_validTableName_callsMapper() {
80
-        service.selectAllKeys("realtime_001");
81
-        verify(sysRealtimeMapper).selectAllKeys("realtime_001");
80
+        service.selectAllKeys("realtime_001", "C1");
81
+        verify(sysRealtimeMapper).selectAllKeys("realtime_001", "C1");
82
     }
82
     }
83
 }
83
 }

+ 15
- 14
iot-platform/src/test/java/com/iot/platform/service/TDengineServiceTest.java Просмотреть файл

185
     @Test
185
     @Test
186
     @DisplayName("getColumnTypeForDDL: BOOL/BIGINT/DOUBLE/TIMESTAMP 直接返回")
186
     @DisplayName("getColumnTypeForDDL: BOOL/BIGINT/DOUBLE/TIMESTAMP 直接返回")
187
     void getColumnTypeForDDL_directTypes() throws Exception {
187
     void getColumnTypeForDDL_directTypes() throws Exception {
188
-        Method method = TdEngineService.class.getDeclaredMethod("getColumnTypeForDDL", String.class, String.class);
188
+        Method method = TdEngineService.class.getDeclaredMethod("getColumnTypeForDDL", String.class, Integer.class);
189
         method.setAccessible(true);
189
         method.setAccessible(true);
190
 
190
 
191
-        assertThat(method.invoke(tdengineService, "BOOL", "col")).isEqualTo("BOOL");
192
-        assertThat(method.invoke(tdengineService, "BIGINT", "col")).isEqualTo("BIGINT");
193
-        assertThat(method.invoke(tdengineService, "DOUBLE", "col")).isEqualTo("DOUBLE");
194
-        assertThat(method.invoke(tdengineService, "TIMESTAMP", "col")).isEqualTo("TIMESTAMP");
191
+        assertThat(method.invoke(tdengineService, "BOOL", null)).isEqualTo("BOOL");
192
+        assertThat(method.invoke(tdengineService, "BIGINT", null)).isEqualTo("BIGINT");
193
+        assertThat(method.invoke(tdengineService, "DOUBLE", null)).isEqualTo("DOUBLE");
194
+        assertThat(method.invoke(tdengineService, "TIMESTAMP", null)).isEqualTo("TIMESTAMP");
195
     }
195
     }
196
 
196
 
197
     @Test
197
     @Test
198
-    @DisplayName("getColumnTypeForDDL: VARCHAR 返回 VARCHAR(255)")
198
+    @DisplayName("getColumnTypeForDDL: VARCHAR 返回带长度")
199
     void getColumnTypeForDDL_varchar_returnsWithLength() throws Exception {
199
     void getColumnTypeForDDL_varchar_returnsWithLength() throws Exception {
200
-        Method method = TdEngineService.class.getDeclaredMethod("getColumnTypeForDDL", String.class, String.class);
200
+        Method method = TdEngineService.class.getDeclaredMethod("getColumnTypeForDDL", String.class, Integer.class);
201
         method.setAccessible(true);
201
         method.setAccessible(true);
202
 
202
 
203
-        assertThat(method.invoke(tdengineService, "VARCHAR", "col")).isEqualTo("VARCHAR(255)");
203
+        assertThat(method.invoke(tdengineService, "VARCHAR", 250)).isEqualTo("VARCHAR(255)");
204
+        assertThat(method.invoke(tdengineService, "VARCHAR", null)).isEqualTo("VARCHAR(16)");
204
     }
205
     }
205
 
206
 
206
     @Test
207
     @Test
241
     }
242
     }
242
 
243
 
243
     @Test
244
     @Test
244
-    @DisplayName("formatValue: VARCHAR 类型超长时截断存储")
245
-    void formatValue_varchar_exceedsLength_truncates() throws Exception {
245
+    @DisplayName("formatValue: VARCHAR 类型不截断,完整返回")
246
+    void formatValue_varchar_noTruncation() throws Exception {
246
         Method method = TdEngineService.class.getDeclaredMethod("formatValue", Object.class, String.class, String.class);
247
         Method method = TdEngineService.class.getDeclaredMethod("formatValue", Object.class, String.class, String.class);
247
         method.setAccessible(true);
248
         method.setAccessible(true);
248
 
249
 
249
         String longStr = "a".repeat(300);
250
         String longStr = "a".repeat(300);
250
         assertThat(method.invoke(tdengineService, longStr, "col", "VARCHAR"))
251
         assertThat(method.invoke(tdengineService, longStr, "col", "VARCHAR"))
251
-                .isEqualTo("'" + "a".repeat(255) + "'");
252
+                .isEqualTo("'" + "a".repeat(300) + "'");
252
     }
253
     }
253
 
254
 
254
     @Test
255
     @Test
281
     }
282
     }
282
 
283
 
283
     @Test
284
     @Test
284
-    @DisplayName("isReservedColumn: ts 和 surfacename 返回 true")
285
+    @DisplayName("isReservedColumn: ts 和 controller_id 返回 true")
285
     void isReservedColumn_reservedNames() throws Exception {
286
     void isReservedColumn_reservedNames() throws Exception {
286
         Method method = TdEngineService.class.getDeclaredMethod("isReservedColumn", String.class);
287
         Method method = TdEngineService.class.getDeclaredMethod("isReservedColumn", String.class);
287
         method.setAccessible(true);
288
         method.setAccessible(true);
288
 
289
 
289
         assertThat(method.invoke(tdengineService, "ts")).isEqualTo(true);
290
         assertThat(method.invoke(tdengineService, "ts")).isEqualTo(true);
290
         assertThat(method.invoke(tdengineService, "TS")).isEqualTo(true);
291
         assertThat(method.invoke(tdengineService, "TS")).isEqualTo(true);
291
-        assertThat(method.invoke(tdengineService, "surfacename")).isEqualTo(true);
292
-        assertThat(method.invoke(tdengineService, "Surfacename")).isEqualTo(true);
292
+        assertThat(method.invoke(tdengineService, "controller_id")).isEqualTo(true);
293
+        assertThat(method.invoke(tdengineService, "CONTROLLER_ID")).isEqualTo(true);
293
     }
294
     }
294
 
295
 
295
     @Test
296
     @Test

Загрузка…
Отмена
Сохранить