修复测试构造与 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:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user