Skip to content

Commit 93a1eaa

Browse files
ahus1vietj
authored andcommitted
Stabilize test by keeping reference to NetClient
Closes #5853 (cherry picked from commit 8c3bc97)
1 parent 735c4f2 commit 93a1eaa

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

vertx-core/src/test/java/io/vertx/tests/http/HttpTest.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
package io.vertx.tests.http;
1313

14+
import io.netty.buffer.ByteBufUtil;
1415
import io.netty.channel.ConnectTimeoutException;
1516
import io.netty.channel.EventLoop;
1617
import io.netty.handler.codec.compression.DecompressionException;
@@ -4979,17 +4980,21 @@ protected void testHttpConnect(RequestOptions options, int sc) {
49794980
Buffer buffer = TestUtils.randomBuffer(128);
49804981
Buffer received = Buffer.buffer();
49814982
CompletableFuture<Void> closeSocket = new CompletableFuture<>();
4982-
vertx.createNetServer(new NetServerOptions().setPort(1235).setHost("localhost")).connectHandler(socket -> {
4983-
socket.handler(socket::write);
4984-
closeSocket.thenAccept(v -> {
4985-
socket.close();
4986-
});
4987-
}).listen().onComplete(onSuccess(netServer -> {
4988-
server.requestHandler(req -> {
4989-
vertx.createNetClient(new NetClientOptions()).connect(1235, "localhost").onComplete(onSuccess(dst -> {
4983+
NetServer netServer = vertx.createNetServer(new NetServerOptions().setPort(0).setHost("localhost"))
4984+
.connectHandler(socket -> {
4985+
socket.handler(socket::write);
4986+
closeSocket.thenAccept(v -> {
4987+
socket.close();
4988+
});
4989+
}).listen().await();
4990+
// Declare netClient in the main thread to avoid having it randomly garbage collected just after it created the connection
4991+
NetClient netClient = vertx.createNetClient(new NetClientOptions());
49904992

4991-
req.response().setStatusCode(sc);
4992-
req.response().setStatusMessage("Connection established");
4993+
server.requestHandler(req -> {
4994+
netClient.connect(netServer.actualPort(), "localhost").onComplete(onSuccess(dst -> {
4995+
4996+
req.response().setStatusCode(sc);
4997+
req.response().setStatusMessage("Connection established");
49934998

49944999
// Now create a NetSocket
49955000
req.toNetSocket().onComplete(onSuccess(src -> {
@@ -5015,12 +5020,11 @@ protected void testHttpConnect(RequestOptions options, int sc) {
50155020
}
50165021
});
50175022
socket.closeHandler(v -> {
5018-
assertEquals(buffer, received);
5019-
testComplete();
5020-
});
5021-
socket.write(buffer);
5022-
}));
5023-
}));
5023+
assertEquals(ByteBufUtil.hexDump(buffer.getBytes()), ByteBufUtil.hexDump(received.getBytes()));
5024+
testComplete();
5025+
});
5026+
socket.write(buffer);
5027+
}));
50245028
}));
50255029
}));
50265030

0 commit comments

Comments
 (0)