Skip to content

Commit 209dbc9

Browse files
committed
More idiomatic tests.
We should make things simpler and more idiomatic when we can.
1 parent 206c149 commit 209dbc9

8 files changed

Lines changed: 166 additions & 169 deletions

File tree

vertx-web/src/test/java/io/vertx/ext/web/tests/RouterTest.java

Lines changed: 84 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.vertx.ext.web.tests;
1818

1919
import io.netty.handler.codec.http.HttpResponseStatus;
20+
import io.vertx.core.net.NetSocket;
2021
import io.vertx.ext.web.client.HttpResponse;
2122
import io.vertx.core.Handler;
2223
import io.vertx.core.MultiMap;
@@ -1660,67 +1661,67 @@ public void testEndHandler() throws Exception {
16601661
@Test
16611662
public void testExceptionHandler() throws Exception {
16621663
AtomicInteger cnt = new AtomicInteger();
1663-
client.request(HttpMethod.GET, server.actualPort(), "localhost", "/path").onComplete(TestUtils.onSuccess(req -> {
1664-
router.route().handler(rc -> {
1665-
rc.addEndHandler(done -> {
1666-
if (done.failed()) {
1667-
cnt.incrementAndGet();
1668-
}
1669-
});
1670-
rc.next();
1671-
});
1672-
router.route().handler(rc -> {
1673-
rc.addEndHandler(done -> {
1674-
if (done.failed()) {
1675-
cnt.incrementAndGet();
1676-
}
1677-
});
1678-
rc.next();
1664+
router.route().handler(rc -> {
1665+
rc.addEndHandler(done -> {
1666+
if (done.failed()) {
1667+
cnt.incrementAndGet();
1668+
}
16791669
});
1680-
router.route().handler(rc -> {
1681-
rc.addEndHandler(done -> {
1682-
if (done.failed()) {
1683-
cnt.incrementAndGet();
1684-
}
1685-
});
1686-
rc.next();
1670+
rc.next();
1671+
});
1672+
router.route().handler(rc -> {
1673+
rc.addEndHandler(done -> {
1674+
if (done.failed()) {
1675+
cnt.incrementAndGet();
1676+
}
16871677
});
1688-
router.route().handler(rc -> {
1689-
req.connection().close();
1678+
rc.next();
1679+
});
1680+
router.route().handler(rc -> {
1681+
rc.addEndHandler(done -> {
1682+
if (done.failed()) {
1683+
cnt.incrementAndGet();
1684+
}
16901685
});
1691-
req.end();
1692-
}));
1686+
rc.next();
1687+
});
1688+
HttpClientRequest request = client
1689+
.request(HttpMethod.GET, server.actualPort(), "localhost", "/path")
1690+
.await();
1691+
router.route().handler(rc -> {
1692+
request.connection().close();
1693+
});
1694+
request.end();
16931695
assertWaitUntil(() -> cnt.get() == 3);
16941696
}
16951697

16961698
// Test that adding a closeHandler doesn't overwrite other ones
16971699
@Test
16981700
public void testCloseHandler() throws Exception {
16991701
AtomicInteger cnt = new AtomicInteger();
1700-
client.request(HttpMethod.GET, server.actualPort(), "localhost", "/path").onComplete(TestUtils.onSuccess(req -> {
1701-
router.route().handler(rc -> {
1702-
rc.addEndHandler(done -> {
1703-
cnt.incrementAndGet();
1704-
});
1705-
rc.next();
1706-
});
1707-
router.route().handler(rc -> {
1708-
rc.addEndHandler(done -> {
1709-
cnt.incrementAndGet();
1710-
});
1711-
rc.next();
1702+
router.route().handler(rc -> {
1703+
rc.addEndHandler(done -> {
1704+
cnt.incrementAndGet();
17121705
});
1713-
router.route().handler(rc -> {
1714-
rc.addEndHandler(done -> {
1715-
cnt.incrementAndGet();
1716-
});
1717-
rc.next();
1706+
rc.next();
1707+
});
1708+
router.route().handler(rc -> {
1709+
rc.addEndHandler(done -> {
1710+
cnt.incrementAndGet();
17181711
});
1719-
router.route().handler(rc -> {
1720-
req.connection().close();
1712+
rc.next();
1713+
});
1714+
router.route().handler(rc -> {
1715+
rc.addEndHandler(done -> {
1716+
cnt.incrementAndGet();
17211717
});
1722-
req.end();
1723-
}));
1718+
rc.next();
1719+
});
1720+
HttpClientRequest req = client.request(HttpMethod.GET, server.actualPort(), "localhost", "/path").await();
1721+
router.route().handler(rc -> {
1722+
req.connection().close();
1723+
});
1724+
req.end();
17241725
assertWaitUntil(() -> cnt.get() == 3);
17251726
}
17261727

@@ -1730,30 +1731,29 @@ public void testEndHandlerCalledOnce() throws Exception {
17301731
AtomicInteger endCnt = new AtomicInteger();
17311732
AtomicInteger excCnt = new AtomicInteger();
17321733
AtomicInteger closeCnt = new AtomicInteger();
1733-
client.request(HttpMethod.GET, server.actualPort(), "localhost", "/path").onComplete(TestUtils.onSuccess(req -> {
1734-
router.route().handler(rc -> {
1735-
rc.addEndHandler(done -> {
1736-
excCnt.incrementAndGet();
1737-
});
1738-
rc.next();
1739-
});
1740-
router.route().handler(rc -> {
1741-
rc.addEndHandler(done -> {
1742-
endCnt.incrementAndGet();
1743-
});
1744-
rc.next();
1734+
router.route().handler(rc -> {
1735+
rc.addEndHandler(done -> {
1736+
excCnt.incrementAndGet();
17451737
});
1746-
router.route().handler(rc -> {
1747-
rc.addEndHandler(done -> {
1748-
closeCnt.incrementAndGet();
1749-
});
1750-
rc.next();
1738+
rc.next();
1739+
});
1740+
router.route().handler(rc -> {
1741+
rc.addEndHandler(done -> {
1742+
endCnt.incrementAndGet();
17511743
});
1752-
router.route().handler(rc -> {
1753-
req.connection().close();
1744+
rc.next();
1745+
});
1746+
router.route().handler(rc -> {
1747+
rc.addEndHandler(done -> {
1748+
closeCnt.incrementAndGet();
17541749
});
1755-
req.end();
1756-
}));
1750+
rc.next();
1751+
});
1752+
HttpClientRequest req = client.request(HttpMethod.GET, server.actualPort(), "localhost", "/path").await();
1753+
router.route().handler(rc -> {
1754+
req.connection().close();
1755+
});
1756+
req.end();
17571757
assertWaitUntil(() -> endCnt.get() == 1);
17581758
assertWaitUntil(() -> excCnt.get() == 1);
17591759
assertWaitUntil(() -> closeCnt.get() == 1);
@@ -2669,22 +2669,21 @@ private void testMissingHostHeader(VertxTestContext testContext, String httpVers
26692669
Checkpoint done = testContext.checkpoint();
26702670
router.route().handler(rc -> rc.response().end());
26712671
NetClient nc = vertx.createNetClient();
2672-
nc.connect(SocketAddress.inetSocketAddress(8080, "localhost")).onComplete(TestUtils.onSuccess(so -> {
2673-
so.write("GET / " + httpVersion + "\r\n\r\n");
2674-
Buffer response = Buffer.buffer();
2675-
so.handler(chunk -> {
2676-
response.appendBuffer(chunk);
2677-
String s = response.toString();
2678-
int idx = s.indexOf("\r\n");
2679-
if (idx >= 0) {
2680-
so.handler(null);
2681-
String[] line = s.substring(0, idx).split("\\s+");
2682-
assertTrue(line.length >= 3);
2683-
assertEquals("" + expectedStatusCode, line[1]);
2684-
done.flag();
2685-
}
2686-
});
2687-
}));
2672+
NetSocket so = nc.connect(SocketAddress.inetSocketAddress(8080, "localhost")).await();
2673+
Buffer response = Buffer.buffer();
2674+
so.handler(chunk -> {
2675+
response.appendBuffer(chunk);
2676+
String s = response.toString();
2677+
int idx = s.indexOf("\r\n");
2678+
if (idx >= 0) {
2679+
so.handler(null);
2680+
String[] line = s.substring(0, idx).split("\\s+");
2681+
assertTrue(line.length >= 3);
2682+
assertEquals("" + expectedStatusCode, line[1]);
2683+
done.flag();
2684+
}
2685+
});
2686+
so.write("GET / " + httpVersion + "\r\n\r\n");
26882687
}
26892688

26902689
@Test

vertx-web/src/test/java/io/vertx/ext/web/tests/handler/BodyHandlerTest.java

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.vertx.core.MultiMap;
2121
import io.vertx.core.Vertx;
2222
import io.vertx.core.buffer.Buffer;
23+
import io.vertx.core.http.HttpClientRequest;
2324
import io.vertx.core.http.HttpHeaders;
2425
import io.vertx.core.http.HttpMethod;
2526
import io.vertx.core.http.RequestOptions;
@@ -30,7 +31,6 @@
3031
import io.vertx.ext.web.handler.BodyHandler;
3132
import io.vertx.ext.web.handler.PlatformHandler;
3233
import io.vertx.ext.web.tests.WebTestBase;
33-
import io.vertx.junit5.Checkpoint;
3434
import io.vertx.junit5.VertxTestContext;
3535
import io.vertx.test.core.TestUtils;
3636
import org.junit.jupiter.api.AfterAll;
@@ -406,7 +406,7 @@ private void sendFileUploadRequest(Buffer fileData,
406406
}
407407

408408
@Test
409-
public void testRoutingContextFailedBeforeFileIsFullyUploaded(VertxTestContext testContext) {
409+
public void testRoutingContextFailedBeforeFileIsFullyUploaded() {
410410
String uploadsDirectory = new File(tempUploads, "failUpload").getPath();
411411
new File(uploadsDirectory).mkdirs();
412412
router.clear();
@@ -434,34 +434,31 @@ public void testRoutingContextFailedBeforeFileIsFullyUploaded(VertxTestContext t
434434
.setHost("localhost")
435435
.setPort(8080)
436436
.setURI("/upload");
437-
Checkpoint responseLatch = testContext.checkpoint();
438-
client.request(requestOptions).onComplete(TestUtils.onSuccess(req -> {
439-
req.response().onComplete(TestUtils.onSuccess(resp -> {
440-
assertEquals(503, resp.statusCode());
441-
responseLatch.flag();
442-
}));
443-
String boundary = "dLV9Wyq26L_-JQxk6ferf-RT153LhOO";
444-
Buffer buffer = TestUtils.randomBuffer(2048);
445-
req.headers().set(HttpHeaders.CONTENT_TYPE, "multipart/form-data; boundary=" + boundary);
446-
req.headers().set(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length()));
447-
req.setChunked(true);
448-
req.write("--" + boundary + "\r\n" +
449-
"Content-Disposition: form-data; name=\"somename\"; filename=\"somefile.dat\"\r\n" +
450-
"Content-Type: application/octet-stream\r\n" +
451-
"Content-Transfer-Encoding: binary\r\n" +
452-
"\r\n");
453-
req.write(buffer.getBuffer(0, 1024));
454-
vertx.setPeriodic(50, id -> {
455-
if (stop.get()) {
456-
vertx.cancelTimer(id);
457-
req.write(buffer.getBuffer(0, 1024));
458-
String footer = "\r\n--" + boundary + "--\r\n";
459-
req.end(footer);
460-
}
461-
});
462-
}));
463-
464-
responseLatch.await();
437+
HttpClientRequest req = client.request(requestOptions).await();
438+
String boundary = "dLV9Wyq26L_-JQxk6ferf-RT153LhOO";
439+
Buffer buffer = TestUtils.randomBuffer(2048);
440+
req.headers().set(HttpHeaders.CONTENT_TYPE, "multipart/form-data; boundary=" + boundary);
441+
req.headers().set(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length()));
442+
req.setChunked(true);
443+
req.write("--" + boundary + "\r\n" +
444+
"Content-Disposition: form-data; name=\"somename\"; filename=\"somefile.dat\"\r\n" +
445+
"Content-Type: application/octet-stream\r\n" +
446+
"Content-Transfer-Encoding: binary\r\n" +
447+
"\r\n");
448+
req.write(buffer.getBuffer(0, 1024));
449+
vertx.setPeriodic(50, id -> {
450+
if (stop.get()) {
451+
vertx.cancelTimer(id);
452+
req.write(buffer.getBuffer(0, 1024));
453+
String footer = "\r\n--" + boundary + "--\r\n";
454+
req.end(footer);
455+
}
456+
});
457+
int resp = req
458+
.response()
459+
.map(r -> r.statusCode())
460+
.await();
461+
assertEquals(503, resp);
465462

466463
assertWaitUntil(() -> vertx.fileSystem().readDirBlocking(uploadsDirectory).isEmpty());
467464
}

vertx-web/src/test/java/io/vertx/ext/web/tests/handler/SlowClusterEventbusBridgeTest.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void testRegistration(VertxTestContext testContext) throws Exception {
145145
}
146146

147147
@Test
148-
public void testNoOrphanClusteredSubscription(VertxTestContext testContext) throws Exception {
148+
public void testNoOrphanClusteredSubscription() throws Exception {
149149
String addr = "someaddress";
150150
String websocketURI = "/eventbus/websocket";
151151

@@ -161,16 +161,14 @@ public void testNoOrphanClusteredSubscription(VertxTestContext testContext) thro
161161
.connect(websocketURI)
162162
.compose(v -> bridgeClient.register(addr))
163163
.compose(v -> bridgeClient.unregister(addr))
164-
.onComplete(TestUtils.onSuccess(v -> {
165-
Promise<List<RegistrationInfo>> promise = Promise.promise();
166-
node1.setTimer(1500, l -> {
167-
node1.clusterManager().getRegistrations(addr, promise);
168-
promise.future().onComplete(TestUtils.onSuccess(registrationInfos -> {
169-
assertTrue(registrationInfos == null || registrationInfos.isEmpty());
170-
testContext.completeNow();
171-
}));
172-
});
173-
}));
164+
.await();
165+
166+
Thread.sleep(1500);
167+
168+
Promise<List<RegistrationInfo>> promise = Promise.promise();
169+
node1.clusterManager().getRegistrations(addr, promise);
170+
List<RegistrationInfo> registrationInfos = promise.future().await();
171+
assertTrue(registrationInfos == null || registrationInfos.isEmpty());
174172
}
175173

176174
private static class SlowClusterManager extends WrappedClusterManager {

vertx-web/src/test/java/io/vertx/ext/web/tests/handler/StaticHandlerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,12 +349,12 @@ public void testHttp2Push(VertxTestContext testContext) throws Exception {
349349
.compose(req ->
350350
req.pushHandler(push -> {
351351
assertNotNull(push);
352-
push.response().onComplete(TestUtils.onSuccess(resp -> {
353-
resp.body().onComplete(TestUtils.onSuccess(body -> {
352+
push.response()
353+
.compose(HttpClientResponse::body)
354+
.onComplete(TestUtils.onSuccess(body -> {
354355
assertTrue(body.length() > 0);
355356
pushReceived.flag();
356357
}));
357-
}));
358358
}).send()
359359
.expecting(HttpResponseExpectation.SC_OK)
360360
.expecting(resp -> resp.version() == HttpVersion.HTTP_2)

vertx-web/src/test/java/io/vertx/ext/web/tests/handler/WebAuthn4JHandlerTest.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -411,26 +411,25 @@ protected void testRequestBuffer(HttpMethod method, String path, Consumer<HttpCl
411411
Consumer<Buffer> responseBodyBufferAction) throws Exception {
412412
RequestOptions requestOptions = new RequestOptions().setMethod(method).setPort(8080).setURI(path).setHost("localhost");
413413
Promise<Void> promise = Promise.promise();
414-
client.request(requestOptions).onComplete(TestUtils.onSuccess(req -> {
415-
req.response().onComplete(TestUtils.onSuccess(resp -> {
416-
assertEquals(statusCode, resp.statusCode());
417-
assertEquals(statusMessage, resp.statusMessage());
418-
if (responseAction != null) {
419-
responseAction.accept(resp);
420-
}
421-
if (responseBodyBufferAction == null) {
422-
promise.complete();
423-
} else {
424-
resp.bodyHandler(buff -> {
425-
responseBodyBufferAction.accept(buff);
426-
promise.complete();
427-
});
428-
}
429-
}));
414+
client.request(requestOptions).compose(req -> {
430415
if (requestAction != null) {
431416
requestAction.accept(req);
432417
}
433-
req.end();
418+
return req.send();
419+
}).onComplete(TestUtils.onSuccess(resp -> {
420+
assertEquals(statusCode, resp.statusCode());
421+
assertEquals(statusMessage, resp.statusMessage());
422+
if (responseAction != null) {
423+
responseAction.accept(resp);
424+
}
425+
if (responseBodyBufferAction == null) {
426+
promise.complete();
427+
} else {
428+
resp.bodyHandler(buff -> {
429+
responseBodyBufferAction.accept(buff);
430+
promise.complete();
431+
});
432+
}
434433
}));
435434
promise.future().await();
436435
}

0 commit comments

Comments
 (0)