修复测试构造与 commons-io 版本不匹配

- RemoteServiceTest 原先调用 ResponseMessage(int, byte),主源码中不存在该构造器,
  导致测试源码无法编译;改为在测试内用 setter 组装。
- commons-compress 1.26.1 依赖 commons-io 2.15.1 的 IOUtils.skip(InputStream,long,Supplier),
  而 POM 钉在 2.11.0,任何 tar 读取都会抛 NoSuchMethodError;commons-io 升至 2.15.1
  (同时覆盖 CVE-2024-47554)。

后端 mvn test 16 项、storageNode 5 项、桌面前端 9 项全部通过。
This commit is contained in:
root
2026-09-14 13:36:45 +08:00
parent 50e513b8cc
commit f5ef8ca487
2 changed files with 9 additions and 2 deletions
+1 -1
View File
@@ -88,7 +88,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<version>2.15.1</version>
</dependency>
<dependency>
@@ -11,6 +11,13 @@ import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
class RemoteServiceTest {
private static ResponseMessage response(int messageId, byte result) {
ResponseMessage message = new ResponseMessage();
message.setMessageId(messageId);
message.setResult(result);
return message;
}
private RemoteService service() {
return new RemoteService(mock(GalleryMapper.class), mock(PushService.class),
mock(WebSocketService.class), mock(SubscriptionStandbySnapshotService.class));
@@ -21,7 +28,7 @@ class RemoteServiceTest {
EmbeddedChannel channel = new EmbeddedChannel(new ChannelOutboundHandlerAdapter() {
@Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
AbstractMessage request = (AbstractMessage) msg;
ctx.fireChannelRead(new ResponseMessage(request.messageId, (byte) 0));
ctx.fireChannelRead(response(request.messageId, (byte) 0));
promise.setSuccess();
}
}, service.new MyChannelInboundHandlerAdapter());