From df044e49374a90c40dec00899bd7d74636b121f9 Mon Sep 17 00:00:00 2001 From: Sharang Gupta Date: Thu, 29 Oct 2026 00:04:47 +0000 Subject: [PATCH] Assert expected exceptions are actually thrown TestBasicFuture#testFailed, #testAsyncFailed and TestSharedOutputBuffer#testMultithreadingWriteStreamAbort checked the ExecutionException only in a catch block, so they still passed if get() returned normally. Use assertThrows so a missing failure fails the test. --- .../hc/core5/concurrent/TestBasicFuture.java | 15 +++++---------- .../support/classic/TestSharedOutputBuffer.java | 8 +++----- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/httpcore5/src/test/java/org/apache/hc/core5/concurrent/TestBasicFuture.java b/httpcore5/src/test/java/org/apache/hc/core5/concurrent/TestBasicFuture.java index 8be62908cb..8be1a58c2c 100644 --- a/httpcore5/src/test/java/org/apache/hc/core5/concurrent/TestBasicFuture.java +++ b/httpcore5/src/test/java/org/apache/hc/core5/concurrent/TestBasicFuture.java @@ -102,11 +102,8 @@ void testFailed() throws Exception { Mockito.verify(callback).failed(boom); Mockito.verify(callback, Mockito.never()).cancelled(); - try { - future.get(); - } catch (final ExecutionException ex) { - Assertions.assertSame(boom, ex.getCause()); - } + final ExecutionException ex = assertThrows(ExecutionException.class, future::get); + Assertions.assertSame(boom, ex.getCause()); Assertions.assertTrue(future.isDone()); Assertions.assertFalse(future.isCancelled()); } @@ -162,11 +159,9 @@ void testAsyncFailed() throws Exception { }); t.setDaemon(true); t.start(); - try { - future.get(60, TimeUnit.SECONDS); - } catch (final ExecutionException ex) { - Assertions.assertSame(boom, ex.getCause()); - } + final ExecutionException ex = assertThrows(ExecutionException.class, () -> + future.get(60, TimeUnit.SECONDS)); + Assertions.assertSame(boom, ex.getCause()); Assertions.assertTrue(future.isDone()); Assertions.assertFalse(future.isCancelled()); } diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/nio/support/classic/TestSharedOutputBuffer.java b/httpcore5/src/test/java/org/apache/hc/core5/http/nio/support/classic/TestSharedOutputBuffer.java index 46a9bb59a3..ee1f340991 100644 --- a/httpcore5/src/test/java/org/apache/hc/core5/http/nio/support/classic/TestSharedOutputBuffer.java +++ b/httpcore5/src/test/java/org/apache/hc/core5/http/nio/support/classic/TestSharedOutputBuffer.java @@ -211,11 +211,9 @@ void testMultithreadingWriteStreamAbort() throws Exception { }); Assertions.assertEquals(Boolean.TRUE, task2.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit())); - try { - task1.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); - } catch (final ExecutionException ex) { - Assertions.assertInstanceOf(InterruptedIOException.class, ex.getCause()); - } + final ExecutionException ex = Assertions.assertThrows(ExecutionException.class, () -> + task1.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit())); + Assertions.assertInstanceOf(InterruptedIOException.class, ex.getCause()); } @Test