This is an automated email from the ASF dual-hosted git repository.

fcsaky pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-http.git


The following commit(s) were added to refs/heads/main by this push:
     new aead605  [FLINK-38789] Change all unit test assertions to use AssertJ
aead605 is described below

commit aead605853c8f1e8346fee981d3c1f0da2c68e00
Author: David Radley <[email protected]>
AuthorDate: Fri Feb 13 10:17:08 2026 +0000

    [FLINK-38789] Change all unit test assertions to use AssertJ
---
 .../http/HttpPostRequestCallbackFactoryTest.java   |  13 +-
 .../http/auth/OidcAccessTokenManagerTest.java      |   4 +-
 .../http/retry/HttpClientWithRetryTest.java        |  45 +++--
 .../http/retry/RetryConfigProviderTest.java        |  27 +--
 .../http/retry/RetryStrategyTypeTest.java          |  12 +-
 .../connector/http/sink/HttpSinkBuilderTest.java   |  66 ++++---
 .../http/sink/HttpSinkConnectionTest.java          |  48 ++---
 .../BatchRequestSubmitterFactoryTest.java          |  15 +-
 .../JavaNetSinkHttpClientConnectionTest.java       |  38 ++--
 .../status/ComposeHttpStatusCodeCheckerTest.java   |  51 ++---
 .../connector/http/status/HttpCodesParserTest.java |  14 +-
 .../http/status/HttpResponseCheckerTest.java       |  27 ++-
 .../lookup/HttpLookupTableSourceFactoryTest.java   |   4 +-
 .../lookup/HttpLookupTableSourceITCaseTest.java    | 216 +++++++++------------
 .../table/lookup/HttpLookupTableSourceTest.java    |   3 +-
 .../JavaNetHttpPollingClientConnectionTest.java    |   7 +-
 ...avaNetHttpPollingClientHttpsConnectionTest.java |   5 +-
 .../GenericJsonAndUrlQueryCreatorFactoryTest.java  |  26 +--
 .../GenericJsonAndUrlQueryCreatorTest.java         | 165 +++++++---------
 .../BatchRequestHttpDynamicSinkInsertTest.java     |  34 ++--
 .../http/table/sink/HttpDynamicSinkTest.java       |  22 +--
 .../sink/HttpDynamicTableSinkFactoryTest.java      |  22 +--
 .../sink/PerRequestHttpDynamicSinkInsertTest.java  |  60 +++---
 .../http/utils/uri/CharArrayBufferTest.java        |  42 ++--
 .../connector/http/utils/uri/ParserCursorTest.java |  20 +-
 25 files changed, 446 insertions(+), 540 deletions(-)

diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/HttpPostRequestCallbackFactoryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/HttpPostRequestCallbackFactoryTest.java
index f5bf9ac..e694a0e 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/HttpPostRequestCallbackFactoryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/HttpPostRequestCallbackFactoryTest.java
@@ -26,7 +26,6 @@ import org.apache.flink.table.api.TableResult;
 import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
 
 import com.github.tomakehurst.wiremock.WireMockServer;
-import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,7 +45,7 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.ok;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static 
org.apache.flink.connector.http.TestLookupPostRequestCallbackFactory.TEST_LOOKUP_POST_REQUEST_CALLBACK_IDENT;
 import static 
org.apache.flink.connector.http.TestPostRequestCallbackFactory.TEST_POST_REQUEST_CALLBACK_IDENT;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link HttpPostRequestCallbackFactory}. */
 public class HttpPostRequestCallbackFactoryTest {
@@ -107,15 +106,15 @@ public class HttpPostRequestCallbackFactoryTest {
         final String insert = "INSERT INTO http VALUES (1)";
         tEnv.executeSql(insert).await();
 
-        assertEquals(1, requestEntries.size());
-        assertEquals(1, responses.size());
+        assertThat(requestEntries).hasSize(1);
+        assertThat(responses).hasSize(1);
 
         String actualRequest =
                 requestEntries.get(0).getElements().stream()
                         .map(element -> new String(element, 
StandardCharsets.UTF_8))
                         .collect(Collectors.joining());
 
-        
Assertions.assertThat(actualRequest).isEqualToIgnoringNewLines(expectedRequest);
+        assertThat(actualRequest).isEqualToIgnoringNewLines(expectedRequest);
     }
 
     @Test
@@ -161,8 +160,8 @@ public class HttpPostRequestCallbackFactoryTest {
         final TableResult resultTable = tEnv.sqlQuery(joinTable).execute();
         resultTable.await();
 
-        assertEquals(1, lookupRequestEntries.size());
-        assertEquals(1, responses.size());
+        assertThat(lookupRequestEntries).hasSize(1);
+        assertThat(responses).hasSize(1);
     }
 
     /** TestPostRequestCallback. */
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/auth/OidcAccessTokenManagerTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/auth/OidcAccessTokenManagerTest.java
index 7153880..466a039 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/auth/OidcAccessTokenManagerTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/auth/OidcAccessTokenManagerTest.java
@@ -39,7 +39,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.fail;
 
 /** Test for {@link OidcAccessTokenManager}. */
 public class OidcAccessTokenManagerTest {
@@ -83,7 +83,7 @@ public class OidcAccessTokenManagerTest {
 
         try {
             oidcAuth.authenticate();
-            assertTrue(false, "Bad status code should result in an 
exception.");
+            fail("Bad status code should result in an exception.");
         } catch (IllegalStateException e) {
             // expected
         }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/HttpClientWithRetryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/HttpClientWithRetryTest.java
index 9de7803..a53922f 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/HttpClientWithRetryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/HttpClientWithRetryTest.java
@@ -37,8 +37,8 @@ import java.net.http.HttpResponse;
 import java.util.function.Supplier;
 import java.util.stream.Stream;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -76,7 +76,7 @@ class HttpClientWithRetryTest {
         var result = client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class));
 
         verify(httpClient, times(2)).send(any(), any());
-        assertEquals(response, result);
+        assertThat(result).isEqualTo(response);
     }
 
     @Test
@@ -92,7 +92,7 @@ class HttpClientWithRetryTest {
         var result = client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class));
 
         verify(httpClient, times(3)).send(any(), any());
-        assertEquals(responseB, result);
+        assertThat(result).isEqualTo(responseB);
     }
 
     @Test
@@ -102,16 +102,15 @@ class HttpClientWithRetryTest {
         when(responseChecker.isSuccessful(response)).thenReturn(false);
         when(responseChecker.isTemporalError(response)).thenReturn(true);
 
-        var exception =
-                assertThrows(
-                        HttpStatusCodeValidationFailedException.class,
+        assertThatThrownBy(
                         () ->
                                 client.send(
-                                        mock(Supplier.class),
-                                        mock(HttpResponse.BodyHandler.class)));
+                                        mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)))
+                .isInstanceOf(HttpStatusCodeValidationFailedException.class)
+                .extracting(e -> ((HttpStatusCodeValidationFailedException) 
e).getResponse())
+                .isEqualTo(response);
 
         verify(httpClient, times(3)).send(any(), any());
-        assertEquals(response, exception.getResponse());
     }
 
     @Test
@@ -121,9 +120,11 @@ class HttpClientWithRetryTest {
         when(responseChecker.isSuccessful(response)).thenReturn(false);
         when(responseChecker.isTemporalError(response)).thenReturn(false);
 
-        assertThrows(
-                HttpStatusCodeValidationFailedException.class,
-                () -> client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)));
+        assertThatThrownBy(
+                        () ->
+                                client.send(
+                                        mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)))
+                .isInstanceOf(HttpStatusCodeValidationFailedException.class);
 
         verify(httpClient, times(1)).send(any(), any());
     }
@@ -132,9 +133,11 @@ class HttpClientWithRetryTest {
     void shouldHandleUncheckedExceptionFromRetry() throws IOException, 
InterruptedException {
         when(httpClient.send(any(), any())).thenThrow(RuntimeException.class);
 
-        assertThrows(
-                RuntimeException.class,
-                () -> client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)));
+        assertThatThrownBy(
+                        () ->
+                                client.send(
+                                        mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)))
+                .isInstanceOf(RuntimeException.class);
 
         verify(httpClient, times(1)).send(any(), any());
     }
@@ -149,7 +152,7 @@ class HttpClientWithRetryTest {
         var result = client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class));
 
         verify(httpClient).send(any(), any());
-        assertEquals(response, result);
+        assertThat(result).isEqualTo(response);
     }
 
     private static Stream<Class<? extends Throwable>> failures() {
@@ -162,9 +165,11 @@ class HttpClientWithRetryTest {
             throws IOException, InterruptedException {
         when(httpClient.send(any(), any())).thenThrow(exceptionClass);
 
-        assertThrows(
-                exceptionClass,
-                () -> client.send(mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)));
+        assertThatThrownBy(
+                        () ->
+                                client.send(
+                                        mock(Supplier.class), 
mock(HttpResponse.BodyHandler.class)))
+                .isInstanceOf(exceptionClass);
 
         verify(httpClient).send(any(), any());
     }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryConfigProviderTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryConfigProviderTest.java
index 1cd7d6d..626c03d 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryConfigProviderTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryConfigProviderTest.java
@@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test;
 
 import java.util.stream.IntStream;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mockStatic;
 
@@ -41,12 +41,12 @@ class RetryConfigProviderTest {
 
         var retryConfig = RetryConfigProvider.create(config);
 
-        assertEquals(13, retryConfig.getMaxAttempts());
+        assertThat(retryConfig.getMaxAttempts()).isEqualTo(13);
         IntStream.range(1, 12)
                 .forEach(
                         attempt ->
-                                assertEquals(
-                                        10000, 
retryConfig.getIntervalFunction().apply(attempt)));
+                                
assertThat(retryConfig.getIntervalFunction().apply(attempt))
+                                        .isEqualTo(10000));
     }
 
     @Test
@@ -65,13 +65,13 @@ class RetryConfigProviderTest {
         var retryConfig = RetryConfigProvider.create(config);
         var intervalFunction = retryConfig.getIntervalFunction();
 
-        assertEquals(7, retryConfig.getMaxAttempts());
-        assertEquals(15, intervalFunction.apply(1));
-        assertEquals(30, intervalFunction.apply(2));
-        assertEquals(60, intervalFunction.apply(3));
-        assertEquals(120, intervalFunction.apply(4));
-        assertEquals(120, intervalFunction.apply(5));
-        assertEquals(120, intervalFunction.apply(6));
+        assertThat(retryConfig.getMaxAttempts()).isEqualTo(7);
+        assertThat(intervalFunction.apply(1)).isEqualTo(15);
+        assertThat(intervalFunction.apply(2)).isEqualTo(30);
+        assertThat(intervalFunction.apply(3)).isEqualTo(60);
+        assertThat(intervalFunction.apply(4)).isEqualTo(120);
+        assertThat(intervalFunction.apply(5)).isEqualTo(120);
+        assertThat(intervalFunction.apply(6)).isEqualTo(120);
     }
 
     @Test
@@ -83,7 +83,8 @@ class RetryConfigProviderTest {
             var dummyStrategy = mock(RetryStrategyType.class);
             mockedStatic.when(() -> 
RetryStrategyType.fromCode("dummy")).thenReturn(dummyStrategy);
 
-            assertThrows(IllegalArgumentException.class, () -> 
RetryConfigProvider.create(config));
+            assertThatThrownBy(() -> RetryConfigProvider.create(config))
+                    .isInstanceOf(IllegalArgumentException.class);
         }
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryStrategyTypeTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryStrategyTypeTest.java
index 4114205..14010c7 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryStrategyTypeTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/retry/RetryStrategyTypeTest.java
@@ -26,8 +26,8 @@ import org.junit.jupiter.params.provider.ValueSource;
 
 import java.util.stream.Stream;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link RetryStrategyType}. */
 class RetryStrategyTypeTest {
@@ -45,17 +45,19 @@ class RetryStrategyTypeTest {
     void parseFromCodes(String code, RetryStrategyType expectedType) {
         var result = RetryStrategyType.fromCode(code);
 
-        assertEquals(expectedType, result);
+        assertThat(result).isEqualTo(expectedType);
     }
 
     @ParameterizedTest
     @ValueSource(strings = {"fixed_delay", "FIXED_DELAY", "ABC", "FIXED-DELA", 
"exponential_delay"})
     void failWhenCodeIsIllegal(String code) {
-        assertThrows(IllegalArgumentException.class, () -> 
RetryStrategyType.fromCode(code));
+        assertThatThrownBy(() -> RetryStrategyType.fromCode(code))
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     void failWhenCodeIsNull() {
-        assertThrows(NullPointerException.class, () -> 
RetryStrategyType.fromCode(null));
+        assertThatThrownBy(() -> RetryStrategyType.fromCode(null))
+                .isInstanceOf(NullPointerException.class);
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkBuilderTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkBuilderTest.java
index f0ef779..dc9ca67 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkBuilderTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkBuilderTest.java
@@ -29,7 +29,7 @@ import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link HttpSink }. */
 public class HttpSinkBuilderTest {
@@ -39,45 +39,47 @@ public class HttpSinkBuilderTest {
 
     @Test
     public void testEmptyUrl() {
-        assertThrows(
-                IllegalArgumentException.class,
-                () ->
-                        HttpSink.<String>builder()
-                                .setElementConverter(ELEMENT_CONVERTER)
-                                .setSinkHttpClientBuilder(
-                                        (properties,
-                                                httpPostRequestCallback,
-                                                headerPreprocessor,
-                                                requestSubmitterFactory) -> 
new MockHttpClient())
-                                .setEndpointUrl("")
-                                .build());
+        assertThatThrownBy(
+                        () ->
+                                HttpSink.<String>builder()
+                                        .setElementConverter(ELEMENT_CONVERTER)
+                                        .setSinkHttpClientBuilder(
+                                                (properties,
+                                                        
httpPostRequestCallback,
+                                                        headerPreprocessor,
+                                                        
requestSubmitterFactory) ->
+                                                        new MockHttpClient())
+                                        .setEndpointUrl("")
+                                        .build())
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     public void testNullUrl() {
-        assertThrows(
-                IllegalArgumentException.class,
-                () ->
-                        HttpSink.<String>builder()
-                                .setElementConverter(ELEMENT_CONVERTER)
-                                .setSinkHttpClientBuilder(
-                                        (properties,
-                                                httpPostRequestCallback,
-                                                headerPreprocessor,
-                                                requestSubmitterFactory) -> 
new MockHttpClient())
-                                .build());
+        assertThatThrownBy(
+                        () ->
+                                HttpSink.<String>builder()
+                                        .setElementConverter(ELEMENT_CONVERTER)
+                                        .setSinkHttpClientBuilder(
+                                                (properties,
+                                                        
httpPostRequestCallback,
+                                                        headerPreprocessor,
+                                                        
requestSubmitterFactory) ->
+                                                        new MockHttpClient())
+                                        .build())
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
     public void testNullHttpClient() {
-        assertThrows(
-                NullPointerException.class,
-                () ->
-                        HttpSink.<String>builder()
-                                .setElementConverter(ELEMENT_CONVERTER)
-                                .setSinkHttpClientBuilder(null)
-                                .setEndpointUrl("localhost:8000")
-                                .build());
+        assertThatThrownBy(
+                        () ->
+                                HttpSink.<String>builder()
+                                        .setElementConverter(ELEMENT_CONVERTER)
+                                        .setSinkHttpClientBuilder(null)
+                                        .setEndpointUrl("localhost:8000")
+                                        .build())
+                .isInstanceOf(NullPointerException.class);
     }
 
     private static class MockHttpClient implements SinkHttpClient {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkConnectionTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkConnectionTest.java
index 89d84ff..d20b040 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkConnectionTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/HttpSinkConnectionTest.java
@@ -66,8 +66,7 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.equalTo;
 import static com.github.tomakehurst.wiremock.client.WireMock.serverError;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static com.github.tomakehurst.wiremock.stubbing.Scenario.STARTED;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link HttpSink }. */
 public class HttpSinkConnectionTest {
@@ -143,12 +142,12 @@ public class HttpSinkConnectionTest {
         var idsSet = new HashSet<>(messageIds);
         for (var request : responses) {
             var el = (Integer) request.get("http-sink-id");
-            assertTrue(idsSet.contains(el));
+            assertThat(idsSet).contains(el);
             idsSet.remove(el);
         }
 
         // check that we hot responses for all requests.
-        assertTrue(idsSet.isEmpty());
+        assertThat(idsSet).isEmpty();
     }
 
     @Test
@@ -173,13 +172,13 @@ public class HttpSinkConnectionTest {
         for (var requests : responses) {
             for (var request : requests) {
                 var el = (Integer) request.get("http-sink-id");
-                assertTrue(idsSet.contains(el));
+                assertThat(idsSet).contains(el);
                 idsSet.remove(el);
             }
         }
 
         // check that we hot responses for all requests.
-        assertTrue(idsSet.isEmpty());
+        assertThat(idsSet).isEmpty();
     }
 
     public <T> List<T> testConnection(
@@ -217,23 +216,12 @@ public class HttpSinkConnectionTest {
         env.execute("Http Sink test connection");
 
         var responses = wireMockServer.getAllServeEvents();
-        assertTrue(
-                responses.stream()
-                        .allMatch(
-                                response ->
-                                        
Objects.equals(response.getRequest().getUrl(), endpoint)));
-        assertTrue(
-                responses.stream().allMatch(response -> 
response.getResponse().getStatus() == 200));
-        assertTrue(
-                responses.stream()
-                        .allMatch(
-                                response ->
-                                        
Objects.equals(response.getRequest().getUrl(), endpoint)));
-        assertTrue(
-                responses.stream().allMatch(response -> 
response.getResponse().getStatus() == 200));
+        assertThat(responses)
+                .allMatch(response -> 
Objects.equals(response.getRequest().getUrl(), endpoint))
+                .allMatch(response -> response.getResponse().getStatus() == 
200);
 
         List<T> collect = 
responses.stream().map(responseMapper).collect(Collectors.toList());
-        assertTrue(collect.stream().allMatch(Objects::nonNull));
+        assertThat(collect).allMatch(Objects::nonNull);
         return collect;
     }
 
@@ -267,13 +255,13 @@ public class HttpSinkConnectionTest {
         source.sinkTo(httpSink);
         env.execute("Http Sink test failed connection");
 
-        assertEquals(1, SendErrorsTestReporterFactory.getCount());
+        assertThat(SendErrorsTestReporterFactory.getCount()).isEqualTo(1);
         // TODO: reintroduce along with the retries
         //  var postedRequests = wireMockServer
         //  .findAll(postRequestedFor(urlPathEqualTo("/myendpoint")));
-        //  assertEquals(2, postedRequests.size());
-        //  assertEquals(postedRequests.get(0).getBodyAsString(),
-        //  postedRequests.get(1).getBodyAsString());
+        //  assertThat(postedRequests).hasSize(2);
+        //  assertThat(postedRequests.get(0).getBodyAsString())
+        //      .isEqualTo(postedRequests.get(1).getBodyAsString());
     }
 
     @Test
@@ -307,12 +295,12 @@ public class HttpSinkConnectionTest {
         source.sinkTo(httpSink);
         env.execute("Http Sink test failed connection");
 
-        assertEquals(1, SendErrorsTestReporterFactory.getCount());
+        assertThat(SendErrorsTestReporterFactory.getCount()).isEqualTo(1);
         // var postedRequests = wireMockServer
         // .findAll(postRequestedFor(urlPathEqualTo("/myendpoint")));
-        // assertEquals(2, postedRequests.size());
-        // assertEquals(postedRequests.get(0).getBodyAsString(),
-        // postedRequests.get(1).getBodyAsString());
+        // assertThat(postedRequests).hasSize(2);
+        // assertThat(postedRequests.get(0).getBodyAsString())
+        //     .isEqualTo(postedRequests.get(1).getBodyAsString());
     }
 
     @Test
@@ -337,7 +325,7 @@ public class HttpSinkConnectionTest {
         source.sinkTo(httpSink);
         env.execute("Http Sink test failed connection");
 
-        assertEquals(0, SendErrorsTestReporterFactory.getCount());
+        assertThat(SendErrorsTestReporterFactory.getCount()).isEqualTo(0);
     }
 
     /** must be public because of the reflection. */
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/BatchRequestSubmitterFactoryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/BatchRequestSubmitterFactoryTest.java
index e1efbdd..1553c53 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/BatchRequestSubmitterFactoryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/BatchRequestSubmitterFactoryTest.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.provider.ValueSource;
 import java.util.Properties;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link BatchRequestSubmitterFactory}. */
 class BatchRequestSubmitterFactoryTest {
@@ -36,9 +36,8 @@ class BatchRequestSubmitterFactoryTest {
     @ParameterizedTest
     @ValueSource(ints = {0, -1})
     public void shouldThrowIfInvalidDefaultSize(int invalidArgument) {
-        assertThrows(
-                IllegalArgumentException.class,
-                () -> new BatchRequestSubmitterFactory(invalidArgument));
+        assertThatThrownBy(() -> new 
BatchRequestSubmitterFactory(invalidArgument))
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
@@ -76,8 +75,8 @@ class BatchRequestSubmitterFactoryTest {
 
         BatchRequestSubmitterFactory factory = new 
BatchRequestSubmitterFactory(10);
 
-        assertThrows(
-                ConfigException.class, () -> 
factory.createSubmitter(properties, new String[0]));
+        assertThatThrownBy(() -> factory.createSubmitter(properties, new 
String[0]))
+                .isInstanceOf(ConfigException.class);
     }
 
     @ParameterizedTest
@@ -90,7 +89,7 @@ class BatchRequestSubmitterFactoryTest {
 
         BatchRequestSubmitterFactory factory = new 
BatchRequestSubmitterFactory(10);
 
-        assertThrows(
-                ConfigException.class, () -> 
factory.createSubmitter(properties, new String[0]));
+        assertThatThrownBy(() -> factory.createSubmitter(properties, new 
String[0]))
+                .isInstanceOf(ConfigException.class);
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/JavaNetSinkHttpClientConnectionTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/JavaNetSinkHttpClientConnectionTest.java
index ef959b8..e6e5e96 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/JavaNetSinkHttpClientConnectionTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/JavaNetSinkHttpClientConnectionTest.java
@@ -41,8 +41,7 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.any;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static 
com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link JavaNetSinkHttpClient }. */
 class JavaNetSinkHttpClientConnectionTest extends HttpsConnectionTestBase {
@@ -246,25 +245,22 @@ class JavaNetSinkHttpClientConnectionTest extends 
HttpsConnectionTestBase {
                 HttpConnectorConfigConstants.CLIENT_PRIVATE_KEY,
                 clientPrivateKey.getAbsolutePath());
 
-        assertAll(
-                () -> {
-                    assertThrows(
-                            RuntimeException.class,
-                            () ->
-                                    new JavaNetSinkHttpClient(
-                                            properties,
-                                            postRequestCallback,
-                                            headerPreprocessor,
-                                            perRequestSubmitterFactory));
-                    assertThrows(
-                            RuntimeException.class,
-                            () ->
-                                    new JavaNetSinkHttpClient(
-                                            properties,
-                                            postRequestCallback,
-                                            headerPreprocessor,
-                                            batchRequestSubmitterFactory));
-                });
+        assertThatThrownBy(
+                        () ->
+                                new JavaNetSinkHttpClient(
+                                        properties,
+                                        postRequestCallback,
+                                        headerPreprocessor,
+                                        perRequestSubmitterFactory))
+                .isInstanceOf(RuntimeException.class);
+        assertThatThrownBy(
+                        () ->
+                                new JavaNetSinkHttpClient(
+                                        properties,
+                                        postRequestCallback,
+                                        headerPreprocessor,
+                                        batchRequestSubmitterFactory))
+                .isInstanceOf(RuntimeException.class);
     }
 
     @ParameterizedTest
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/status/ComposeHttpStatusCodeCheckerTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/status/ComposeHttpStatusCodeCheckerTest.java
index 52380bd..d9ab256 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/status/ComposeHttpStatusCodeCheckerTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/sink/httpclient/status/ComposeHttpStatusCodeCheckerTest.java
@@ -37,8 +37,7 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link ComposeHttpStatusCodeChecker}. */
 class ComposeHttpStatusCodeCheckerTest {
@@ -76,15 +75,12 @@ class ComposeHttpStatusCodeCheckerTest {
 
         codeChecker = new ComposeHttpStatusCodeChecker(checkerConfig);
 
-        assertAll(
-                () -> {
-                    assertThat(codeChecker.isErrorCode(100)).isFalse();
-                    assertThat(codeChecker.isErrorCode(200)).isFalse();
-                    assertThat(codeChecker.isErrorCode(500)).isTrue();
-                    assertThat(codeChecker.isErrorCode(501)).isTrue();
-                    assertThat(codeChecker.isErrorCode(400)).isTrue();
-                    assertThat(codeChecker.isErrorCode(404)).isTrue();
-                });
+        assertThat(codeChecker.isErrorCode(100)).isFalse();
+        assertThat(codeChecker.isErrorCode(200)).isFalse();
+        assertThat(codeChecker.isErrorCode(500)).isTrue();
+        assertThat(codeChecker.isErrorCode(501)).isTrue();
+        assertThat(codeChecker.isErrorCode(400)).isTrue();
+        assertThat(codeChecker.isErrorCode(404)).isTrue();
     }
 
     @Test
@@ -100,16 +96,13 @@ class ComposeHttpStatusCodeCheckerTest {
 
         codeChecker = new ComposeHttpStatusCodeChecker(checkerConfig);
 
-        assertAll(
-                () -> {
-                    CODES.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isFalse());
+        CODES.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isFalse());
 
-                    assertThat(codeChecker.isErrorCode(301))
-                            .withFailMessage(
-                                    "Not in include list but matches 3XX 
range. "
-                                            + "Should be considered as error 
code.")
-                            .isTrue();
-                });
+        assertThat(codeChecker.isErrorCode(301))
+                .withFailMessage(
+                        "Not in include list but matches 3XX range. "
+                                + "Should be considered as error code.")
+                .isTrue();
     }
 
     @Test
@@ -123,7 +116,7 @@ class ComposeHttpStatusCodeCheckerTest {
 
         codeChecker = new ComposeHttpStatusCodeChecker(checkerConfig);
 
-        assertAll(() -> CODES.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isTrue()));
+        CODES.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isTrue());
     }
 
     @Test
@@ -139,15 +132,12 @@ class ComposeHttpStatusCodeCheckerTest {
 
         codeChecker = new ComposeHttpStatusCodeChecker(checkerConfig);
 
-        assertAll(
-                () -> {
-                    codes.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isTrue());
+        codes.forEach(code -> 
assertThat(codeChecker.isErrorCode(code)).isTrue());
 
-                    assertThat(codeChecker.isErrorCode(303))
-                            .withFailMessage(
-                                    "Out ot Error code type range therefore 
should be not marked as error code.")
-                            .isFalse();
-                });
+        assertThat(codeChecker.isErrorCode(303))
+                .withFailMessage(
+                        "Out ot Error code type range therefore should be not 
marked as error code.")
+                .isFalse();
     }
 
     @ParameterizedTest
@@ -159,7 +149,8 @@ class ComposeHttpStatusCodeCheckerTest {
 
         ComposeHttpStatusCodeCheckerConfig checkerConfig = 
prepareCheckerConfig(properties);
 
-        assertThrows(Exception.class, () -> new 
ComposeHttpStatusCodeChecker(checkerConfig));
+        assertThatThrownBy(() -> new 
ComposeHttpStatusCodeChecker(checkerConfig))
+                .isInstanceOf(Exception.class);
     }
 
     private static Properties prepareErrorCodeProperties(String errorCodeList, 
String includeList) {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpCodesParserTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpCodesParserTest.java
index ddb8e74..7d6bf01 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpCodesParserTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpCodesParserTest.java
@@ -35,8 +35,8 @@ import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
 
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test http codes parser. */
 class HttpCodesParserTest {
@@ -44,7 +44,8 @@ class HttpCodesParserTest {
     @ParameterizedTest
     @ValueSource(strings = {"6XX", "1XXX", "600", "99", "1XX,11", "abc", 
"!1XX", "1 2 3", "1X X"})
     void failWhenCodeExpressionIsInvalid(String codeExpression) {
-        assertThrows(ConfigurationException.class, () -> 
HttpCodesParser.parse(codeExpression));
+        assertThatThrownBy(() -> HttpCodesParser.parse(codeExpression))
+                .isInstanceOf(ConfigurationException.class);
     }
 
     private static Stream<InputArgs> inputArgsStream() {
@@ -80,12 +81,7 @@ class HttpCodesParserTest {
 
         var result = HttpCodesParser.parse(inputArgs.getCodeExpression());
 
-        for (var code : expectedCodes) {
-            assertTrue(result.contains(code), "Missing code " + code);
-        }
-        for (var code : result) {
-            assertTrue(expectedCodes.contains(code), "Improper code " + code);
-        }
+        assertThat(result).containsExactlyInAnyOrderElementsOf(expectedCodes);
     }
 
     private static List<Integer> range(int start, int endExclusive, int... 
exclusions) {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpResponseCheckerTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpResponseCheckerTest.java
index bde482c..f863f85 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpResponseCheckerTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/status/HttpResponseCheckerTest.java
@@ -32,9 +32,8 @@ import java.util.Set;
 import java.util.stream.Stream;
 
 import static java.util.Collections.emptySet;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -43,16 +42,14 @@ class HttpResponseCheckerTest {
 
     @Test
     void failWhenTheSameCodeIsMarkedSuccessAndError() {
-        assertThrows(
-                ConfigurationException.class,
-                () -> new HttpResponseChecker(Set.of(404), Set.of(404)));
+        assertThatThrownBy(() -> new HttpResponseChecker(Set.of(404), 
Set.of(404)))
+                .isInstanceOf(ConfigurationException.class);
     }
 
     @Test
     void failWhenSuccessListIsEmpty() {
-        assertThrows(
-                ConfigurationException.class,
-                () -> new HttpResponseChecker(emptySet(), Set.of(500)));
+        assertThatThrownBy(() -> new HttpResponseChecker(emptySet(), 
Set.of(500)))
+                .isInstanceOf(ConfigurationException.class);
     }
 
     private static Stream<InputArgs> testData() {
@@ -92,18 +89,18 @@ class HttpResponseCheckerTest {
     }
 
     private void assertSuccessful(HttpResponseChecker checker, HttpResponse<?> 
response) {
-        assertTrue(checker.isSuccessful(response));
-        assertFalse(checker.isTemporalError(response));
+        assertThat(checker.isSuccessful(response)).isTrue();
+        assertThat(checker.isTemporalError(response)).isFalse();
     }
 
     private void assertTemporalError(HttpResponseChecker checker, 
HttpResponse<?> response) {
-        assertFalse(checker.isSuccessful(response));
-        assertTrue(checker.isTemporalError(response));
+        assertThat(checker.isSuccessful(response)).isFalse();
+        assertThat(checker.isTemporalError(response)).isTrue();
     }
 
     private void assertError(HttpResponseChecker checker, HttpResponse<?> 
response) {
-        assertFalse(checker.isSuccessful(response));
-        assertFalse(checker.isTemporalError(response));
+        assertThat(checker.isSuccessful(response)).isFalse();
+        assertThat(checker.isTemporalError(response)).isFalse();
     }
 
     @RequiredArgsConstructor
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceFactoryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceFactoryTest.java
index 6ac8dce..94b9b4a 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceFactoryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceFactoryTest.java
@@ -38,7 +38,7 @@ import java.util.Map;
 import static 
org.apache.flink.table.factories.utils.FactoryMocks.createTableSource;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
-import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.assertj.core.api.Assertions.fail;
 
 /** Test for {@link HttpLookupTableSourceFactory}. */
 public class HttpLookupTableSourceFactoryTest {
@@ -76,7 +76,7 @@ public class HttpLookupTableSourceFactoryTest {
 
         try {
             
httpLookupTableSourceFactory.validateHttpLookupSourceOptions(tableConfig);
-            assertFalse(true, "Expected an error.");
+            fail("Expected an error.");
         } catch (IllegalArgumentException e) {
             // expected
         }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceITCaseTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceITCaseTest.java
index ff94415..776d21e 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceITCaseTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceITCaseTest.java
@@ -79,9 +79,7 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.put;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link HttpLookupTableSource} connection. */
 @Slf4j
@@ -233,7 +231,8 @@ class HttpLookupTableSourceITCaseTest {
                         + ")";
 
         // WHEN/THEN
-        assertThrows(TimeoutException.class, () -> testLookupJoin(lookupTable, 
4));
+        assertThatThrownBy(() -> testLookupJoin(lookupTable, 4))
+                .isInstanceOf(TimeoutException.class);
     }
 
     @Test
@@ -285,7 +284,7 @@ class HttpLookupTableSourceITCaseTest {
 
         var result = testLookupJoin(lookupTable, 1);
 
-        assertEquals(1, result.size());
+        assertThat(result).hasSize(1);
         wireMockServer.verify(2, getRequestedFor(urlPathEqualTo(ENDPOINT)));
     }
 
@@ -335,7 +334,7 @@ class HttpLookupTableSourceITCaseTest {
 
         var result = testLookupJoin(lookupTable, 3);
 
-        assertEquals(2, result.size());
+        assertThat(result).hasSize(2);
         wireMockServer.verify(3, getRequestedFor(urlPathEqualTo(ENDPOINT)));
     }
 
@@ -1074,30 +1073,26 @@ class HttpLookupTableSourceITCaseTest {
 
         final int rowArity = withMetadata ? 10 : 6;
         // validate every row and its column.
-        assertAll(
-                () -> {
-                    assertThat(collectedRows.size()).isEqualTo(4);
-                    int intElement = 0;
-                    for (Row row : collectedRows) {
-                        intElement++;
-                        assertThat(row.getArity()).isEqualTo(rowArity);
-                        // "id" and "id2" columns should be different for 
every row.
-                        
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
-                        
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
-
-                        assertThat(row.getField("uuid"))
-                                
.isEqualTo("fbb68a46-80a9-46da-9d40-314b5287079c");
-                        assertThat(row.getField("isActive")).isEqualTo(true);
-                        
assertThat(row.getField("balance")).isEqualTo("$1,729.34");
-                        if (withMetadata) {
-                            assertThat(row.getField("errStr")).isNull();
-                            assertThat(row.getField("headers")).isNotNull();
-                            
assertThat(row.getField("statusCode")).isEqualTo(200);
-                            assertThat(row.getField("completionState"))
-                                    
.isEqualTo(HttpCompletionState.SUCCESS.name());
-                        }
-                    }
-                });
+        assertThat(collectedRows.size()).isEqualTo(4);
+        int intElement = 0;
+        for (Row row : collectedRows) {
+            intElement++;
+            assertThat(row.getArity()).isEqualTo(rowArity);
+            // "id" and "id2" columns should be different for every row.
+            
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
+            
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
+
+            
assertThat(row.getField("uuid")).isEqualTo("fbb68a46-80a9-46da-9d40-314b5287079c");
+            assertThat(row.getField("isActive")).isEqualTo(true);
+            assertThat(row.getField("balance")).isEqualTo("$1,729.34");
+            if (withMetadata) {
+                assertThat(row.getField("errStr")).isNull();
+                assertThat(row.getField("headers")).isNotNull();
+                assertThat(row.getField("statusCode")).isEqualTo(200);
+                assertThat(row.getField("completionState"))
+                        .isEqualTo(HttpCompletionState.SUCCESS.name());
+            }
+        }
     }
 
     private void assertEnrichedRowsNoDataBadStatus(Collection<Row> 
collectedRows) {
@@ -1105,28 +1100,24 @@ class HttpLookupTableSourceITCaseTest {
         final int rowArity = 10;
         // validate every row and its column.
 
-        assertAll(
-                () -> {
-                    assertThat(collectedRows.size()).isEqualTo(4);
-                    int intElement = 0;
-                    for (Row row : collectedRows) {
-                        intElement++;
-                        assertThat(row.getArity()).isEqualTo(rowArity);
-                        // "id" and "id2" columns should be different for 
every row.
-                        
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
-                        
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
-                        assertThat(row.getField("uuid")).isNull();
-                        assertThat(row.getField("isActive")).isNull();
-                        assertThat(row.getField("balance")).isNull();
-                        // metadata
-                        assertThat(row.getField("errStr")).isEqualTo("");
-                        assertThat(row.getField("headers")).isNotNull();
-                        assertThat(row.getField("statusCode")).isEqualTo(500);
-                        assertEquals(
-                                row.getField("completionState"),
-                                HttpCompletionState.HTTP_ERROR_STATUS.name());
-                    }
-                });
+        assertThat(collectedRows.size()).isEqualTo(4);
+        int intElement = 0;
+        for (Row row : collectedRows) {
+            intElement++;
+            assertThat(row.getArity()).isEqualTo(rowArity);
+            // "id" and "id2" columns should be different for every row.
+            
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
+            
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
+            assertThat(row.getField("uuid")).isNull();
+            assertThat(row.getField("isActive")).isNull();
+            assertThat(row.getField("balance")).isNull();
+            // metadata
+            assertThat(row.getField("errStr")).isEqualTo("");
+            assertThat(row.getField("headers")).isNotNull();
+            assertThat(row.getField("statusCode")).isEqualTo(500);
+            assertThat(row.getField("completionState"))
+                    .isEqualTo(HttpCompletionState.HTTP_ERROR_STATUS.name());
+        }
     }
 
     private void assertEnrichedRowsNoDataGoodStatus(Collection<Row> 
collectedRows) {
@@ -1134,28 +1125,24 @@ class HttpLookupTableSourceITCaseTest {
         final int rowArity = 10;
         // validate every row and its column.
 
-        assertAll(
-                () -> {
-                    assertThat(collectedRows.size()).isEqualTo(4);
-                    int intElement = 0;
-                    for (Row row : collectedRows) {
-                        intElement++;
-                        assertThat(row.getArity()).isEqualTo(rowArity);
-                        // "id" and "id2" columns should be different for 
every row.
-                        
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
-                        
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
-                        assertThat(row.getField("uuid")).isNull();
-                        assertThat(row.getField("isActive")).isNull();
-                        assertThat(row.getField("balance")).isNull();
-                        // metadata
-                        assertThat(row.getField("errStr")).isNull();
-                        assertThat(row.getField("headers")).isNotNull();
-                        assertThat(row.getField("statusCode")).isEqualTo(200);
-                        assertEquals(
-                                row.getField("completionState"),
-                                HttpCompletionState.SUCCESS.name());
-                    }
-                });
+        assertThat(collectedRows.size()).isEqualTo(4);
+        int intElement = 0;
+        for (Row row : collectedRows) {
+            intElement++;
+            assertThat(row.getArity()).isEqualTo(rowArity);
+            // "id" and "id2" columns should be different for every row.
+            
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
+            
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
+            assertThat(row.getField("uuid")).isNull();
+            assertThat(row.getField("isActive")).isNull();
+            assertThat(row.getField("balance")).isNull();
+            // metadata
+            assertThat(row.getField("errStr")).isNull();
+            assertThat(row.getField("headers")).isNotNull();
+            assertThat(row.getField("statusCode")).isEqualTo(200);
+            assertThat(row.getField("completionState"))
+                    .isEqualTo(HttpCompletionState.SUCCESS.name());
+        }
     }
 
     private void assertEnrichedRowsDeserException(Collection<Row> 
collectedRows) {
@@ -1163,29 +1150,24 @@ class HttpLookupTableSourceITCaseTest {
         final int rowArity = 10;
         // validate every row and its column.
 
-        assertAll(
-                () -> {
-                    assertThat(collectedRows.size()).isEqualTo(4);
-                    int intElement = 0;
-                    for (Row row : collectedRows) {
-                        intElement++;
-                        assertThat(row.getArity()).isEqualTo(rowArity);
-                        // "id" and "id2" columns should be different for 
every row.
-                        
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
-                        
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
-                        assertThat(row.getField("uuid")).isNull();
-                        assertThat(row.getField("isActive")).isNull();
-                        assertThat(row.getField("balance")).isNull();
-                        // metadata
-                        assertThat(row.getField("errStr"))
-                                .isEqualTo(A_TEST_STRING_THAT_IS_NOT_JSON);
-                        assertThat(row.getField("headers")).isNotNull();
-                        assertThat(row.getField("statusCode")).isEqualTo(200);
-                        assertEquals(
-                                row.getField("completionState"),
-                                
HttpCompletionState.UNABLE_TO_DESERIALIZE_RESPONSE.name());
-                    }
-                });
+        assertThat(collectedRows.size()).isEqualTo(4);
+        int intElement = 0;
+        for (Row row : collectedRows) {
+            intElement++;
+            assertThat(row.getArity()).isEqualTo(rowArity);
+            // "id" and "id2" columns should be different for every row.
+            
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
+            
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
+            assertThat(row.getField("uuid")).isNull();
+            assertThat(row.getField("isActive")).isNull();
+            assertThat(row.getField("balance")).isNull();
+            // metadata
+            
assertThat(row.getField("errStr")).isEqualTo(A_TEST_STRING_THAT_IS_NOT_JSON);
+            assertThat(row.getField("headers")).isNotNull();
+            assertThat(row.getField("statusCode")).isEqualTo(200);
+            assertThat(row.getField("completionState"))
+                    
.isEqualTo(HttpCompletionState.UNABLE_TO_DESERIALIZE_RESPONSE.name());
+        }
     }
 
     private void assertEnrichedRowsException(Collection<Row> collectedRows) {
@@ -1193,28 +1175,24 @@ class HttpLookupTableSourceITCaseTest {
         final int rowArity = 10;
         // validate every row and its column.
 
-        assertAll(
-                () -> {
-                    assertThat(collectedRows.size()).isEqualTo(4);
-                    int intElement = 0;
-                    for (Row row : collectedRows) {
-                        intElement++;
-                        assertThat(row.getArity()).isEqualTo(rowArity);
-                        // "id" and "id2" columns should be different for 
every row.
-                        
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
-                        
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
-                        assertThat(row.getField("uuid")).isNull();
-                        assertThat(row.getField("isActive")).isNull();
-                        assertThat(row.getField("balance")).isNull();
-                        // metadata
-                        assertThat(row.getField("errStr")).isNotNull();
-                        assertThat(row.getField("headers")).isNull();
-                        assertThat(row.getField("statusCode")).isNull();
-                        assertEquals(
-                                row.getField("completionState"),
-                                HttpCompletionState.EXCEPTION.name());
-                    }
-                });
+        assertThat(collectedRows.size()).isEqualTo(4);
+        int intElement = 0;
+        for (Row row : collectedRows) {
+            intElement++;
+            assertThat(row.getArity()).isEqualTo(rowArity);
+            // "id" and "id2" columns should be different for every row.
+            
assertThat(row.getField("id")).isEqualTo(String.valueOf(intElement));
+            
assertThat(row.getField("id2")).isEqualTo(String.valueOf(intElement + 1));
+            assertThat(row.getField("uuid")).isNull();
+            assertThat(row.getField("isActive")).isNull();
+            assertThat(row.getField("balance")).isNull();
+            // metadata
+            assertThat(row.getField("errStr")).isNotNull();
+            assertThat(row.getField("headers")).isNull();
+            assertThat(row.getField("statusCode")).isNull();
+            assertThat(row.getField("completionState"))
+                    .isEqualTo(HttpCompletionState.EXCEPTION.name());
+        }
     }
 
     private SortedSet<Row> getCollectedRows(TableResult result) throws 
Exception {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceTest.java
index 429f30b..a03b452 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/HttpLookupTableSourceTest.java
@@ -60,7 +60,6 @@ import static 
org.apache.flink.connector.http.table.lookup.HttpLookupTableSource
 import static 
org.apache.flink.connector.http.table.lookup.HttpLookupTableSourceFactory.row;
 import static 
org.apache.flink.table.factories.utils.FactoryMocks.createTableSource;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class HttpLookupTableSourceTest {
 
@@ -289,7 +288,7 @@ class HttpLookupTableSourceTest {
         HttpLookupConfig options = 
HttpLookupConfig.builder().useAsync(testSpec.isAsync).build();
         LookupTableSource.LookupRuntimeProvider lookupRuntimeProvider =
                 getLookupRuntimeProvider(testSpec.hasCache ? cache : null, 
options);
-        assertTrue(testSpec.expected.isInstance(lookupRuntimeProvider));
+        assertThat(lookupRuntimeProvider).isInstanceOf(testSpec.expected);
     }
 
     private static class TestSpec {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientConnectionTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientConnectionTest.java
index 3345cf7..f0ee628 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientConnectionTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientConnectionTest.java
@@ -77,8 +77,8 @@ import static 
org.apache.flink.connector.http.table.lookup.HttpLookupConnectorOp
 import static 
org.apache.flink.connector.http.table.lookup.HttpLookupConnectorOptions.SOURCE_LOOKUP_HTTP_SUCCESS_CODES;
 import static 
org.apache.flink.connector.http.table.lookup.HttpLookupTableSourceFactory.row;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.fail;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.assertj.core.api.Assertions.fail;
 
 /** Test for {@link JavaNetHttpPollingClient} connection. */
 @ExtendWith(MockitoExtension.class)
@@ -311,7 +311,8 @@ class JavaNetHttpPollingClientConnectionTest {
         this.stubMapping = setUpServerStub(500);
         JavaNetHttpPollingClient pollingClient = setUpPollingClient();
 
-        assertThrows(RuntimeException.class, () -> 
pollingClient.pull(lookupRowData));
+        assertThatThrownBy(() -> pollingClient.pull(lookupRowData))
+                .isInstanceOf(RuntimeException.class);
     }
 
     @Test
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientHttpsConnectionTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientHttpsConnectionTest.java
index 27b9f0e..3f4e1a9 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientHttpsConnectionTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/JavaNetHttpPollingClientHttpsConnectionTest.java
@@ -63,7 +63,7 @@ import static 
com.github.tomakehurst.wiremock.core.WireMockConfiguration.options
 import static org.apache.flink.connector.http.TestHelper.readTestFile;
 import static 
org.apache.flink.connector.http.table.lookup.HttpLookupTableSourceFactory.row;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link JavaNetHttpPollingClient} with https. */
 @ExtendWith(MockitoExtension.class)
@@ -262,7 +262,8 @@ public class JavaNetHttpPollingClientHttpsConnectionTest 
extends HttpsConnection
                 HttpConnectorConfigConstants.CLIENT_PRIVATE_KEY,
                 clientPrivateKey.getAbsolutePath());
 
-        assertThrows(RuntimeException.class, () -> 
setUpPollingClient(properties));
+        assertThatThrownBy(() -> setUpPollingClient(properties))
+                .isInstanceOf(RuntimeException.class);
     }
 
     private void testPollingClientConnection() throws ConfigurationException {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorFactoryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorFactoryTest.java
index 1f78257..4b4dce1 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorFactoryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorFactoryTest.java
@@ -43,7 +43,7 @@ import static 
org.apache.flink.connector.http.table.lookup.querycreators.Generic
 import static 
org.apache.flink.connector.http.table.lookup.querycreators.GenericJsonAndUrlQueryCreatorFactory.REQUEST_URL_MAP;
 import static 
org.apache.flink.connector.http.table.lookup.querycreators.QueryCreatorUtils.getTableContext;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link GenericGetQueryCreatorFactory}. */
 class GenericJsonAndUrlQueryCreatorFactoryTest {
@@ -88,19 +88,19 @@ class GenericJsonAndUrlQueryCreatorFactoryTest {
     public void lookupQueryInfoTestRequiredConfig() {
         GenericJsonAndUrlQueryCreatorFactory 
genericJsonAndUrlQueryCreatorFactory =
                 new GenericJsonAndUrlQueryCreatorFactory();
-        assertThrows(
-                RuntimeException.class,
-                () -> {
-                    
genericJsonAndUrlQueryCreatorFactory.createLookupQueryCreator(
-                            config, null, null);
-                });
+        assertThatThrownBy(
+                        () -> {
+                            
genericJsonAndUrlQueryCreatorFactory.createLookupQueryCreator(
+                                    config, null, null);
+                        })
+                .isInstanceOf(RuntimeException.class);
         // do not specify REQUEST_ARG_PATHS_CONFIG
-        assertThrows(
-                RuntimeException.class,
-                () -> {
-                    
genericJsonAndUrlQueryCreatorFactory.createLookupQueryCreator(
-                            config, null, null);
-                });
+        assertThatThrownBy(
+                        () -> {
+                            
genericJsonAndUrlQueryCreatorFactory.createLookupQueryCreator(
+                                    config, null, null);
+                        })
+                .isInstanceOf(RuntimeException.class);
     }
 
     private void createUsingFactory(boolean async) {
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorTest.java
index be789c5..dae90fb 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/lookup/querycreators/GenericJsonAndUrlQueryCreatorTest.java
@@ -49,7 +49,7 @@ import static 
org.apache.flink.connector.http.table.lookup.HttpLookupConnectorOp
 import static 
org.apache.flink.connector.http.table.lookup.HttpLookupTableSourceFactory.row;
 import static 
org.apache.flink.connector.http.table.lookup.querycreators.QueryCreatorUtils.getTableContext;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link GenericJsonQueryCreator}. */
 class GenericJsonAndUrlQueryCreatorTest {
@@ -160,11 +160,8 @@ class GenericJsonAndUrlQueryCreatorTest {
         
genericJsonAndUrlQueryCreator.setSerializationSchema(mockSerialiationSchema);
         var row = new GenericRowData(1);
         // THEN
-        assertThrows(
-                RuntimeException.class,
-                () -> {
-                    genericJsonAndUrlQueryCreator.createLookupQuery(row);
-                });
+        assertThatThrownBy(() -> 
genericJsonAndUrlQueryCreator.createLookupQuery(row))
+                .isInstanceOf(RuntimeException.class);
     }
 
     @Test
@@ -175,12 +172,11 @@ class GenericJsonAndUrlQueryCreatorTest {
         // WHEN
         JsonNode personNode = mapper.valueToTree(person);
         // THEN
-        assertThrows(
-                RuntimeException.class,
-                () -> {
-                    GenericJsonAndUrlQueryCreator.convertToQueryParameters(
-                            (ObjectNode) personNode, "bad encoding");
-                });
+        assertThatThrownBy(
+                        () ->
+                                
GenericJsonAndUrlQueryCreator.convertToQueryParameters(
+                                        (ObjectNode) personNode, "bad 
encoding"))
+                .isInstanceOf(RuntimeException.class);
     }
 
     @Test
@@ -406,13 +402,14 @@ class GenericJsonAndUrlQueryCreatorTest {
                 "{invalid json}");
 
         // WHEN/THEN - Should throw IllegalArgumentException during factory 
creation
-        assertThrows(
-                IllegalArgumentException.class,
-                () -> {
-                    new GenericJsonAndUrlQueryCreatorFactory()
-                            .createLookupQueryCreator(
-                                    config, lookupRow, getTableContext(config, 
RESOLVED_SCHEMA));
-                });
+        assertThatThrownBy(
+                        () ->
+                                new GenericJsonAndUrlQueryCreatorFactory()
+                                        .createLookupQueryCreator(
+                                                config,
+                                                lookupRow,
+                                                getTableContext(config, 
RESOLVED_SCHEMA)))
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
@@ -448,25 +445,19 @@ class GenericJsonAndUrlQueryCreatorTest {
                 "{\"key1\":\"override_value\",\"c\":789}");
 
         // WHEN/THEN - Should throw IllegalArgumentException
-        IllegalArgumentException exception =
-                assertThrows(
-                        IllegalArgumentException.class,
-                        () -> {
-                            new GenericJsonAndUrlQueryCreatorFactory()
-                                    .createLookupQueryCreator(
-                                            config,
-                                            lookupRow,
-                                            getTableContext(config, 
RESOLVED_SCHEMA));
-                        });
-
-        // Verify the error message
-        assertThat(exception.getMessage())
-                .contains(
-                        "The http.request.additional-body-json option should 
not override join keys");
-        assertThat(exception.getMessage())
-                .contains(
-                        "as join keys are expected to target different 
enrichments on a request basis");
-        assertThat(exception.getMessage()).contains("key1");
+        assertThatThrownBy(
+                        () ->
+                                new GenericJsonAndUrlQueryCreatorFactory()
+                                        .createLookupQueryCreator(
+                                                config,
+                                                lookupRow,
+                                                getTableContext(config, 
RESOLVED_SCHEMA)))
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining(
+                        "The http.request.additional-body-json option should 
not override join keys")
+                .hasMessageContaining(
+                        "as join keys are expected to target different 
enrichments on a request basis")
+                .hasMessageContaining("key1");
     }
 
     @Test
@@ -481,27 +472,21 @@ class GenericJsonAndUrlQueryCreatorTest {
                 "{\"key1\":\"override1\",\"key2\":\"override2\",\"c\":789}");
 
         // WHEN/THEN - Should throw IllegalArgumentException with all 
conflicting fields
-        IllegalArgumentException exception =
-                assertThrows(
-                        IllegalArgumentException.class,
-                        () -> {
-                            new GenericJsonAndUrlQueryCreatorFactory()
-                                    .createLookupQueryCreator(
-                                            config,
-                                            lookupRow,
-                                            getTableContext(config, 
RESOLVED_SCHEMA));
-                        });
-
-        // Verify the error message contains both fields
-        assertThat(exception.getMessage())
-                .contains(
-                        "The http.request.additional-body-json option should 
not override join keys");
-        assertThat(exception.getMessage())
-                .contains(
-                        "as join keys are expected to target different 
enrichments on a request basis");
-        assertThat(exception.getMessage()).contains("Found conflicting 
field(s):");
-        assertThat(exception.getMessage()).contains("key1");
-        assertThat(exception.getMessage()).contains("key2");
+        assertThatThrownBy(
+                        () ->
+                                new GenericJsonAndUrlQueryCreatorFactory()
+                                        .createLookupQueryCreator(
+                                                config,
+                                                lookupRow,
+                                                getTableContext(config, 
RESOLVED_SCHEMA)))
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining(
+                        "The http.request.additional-body-json option should 
not override join keys")
+                .hasMessageContaining(
+                        "as join keys are expected to target different 
enrichments on a request basis")
+                .hasMessageContaining("Found conflicting field(s):")
+                .hasMessageContaining("key1")
+                .hasMessageContaining("key2");
     }
 
     @Test
@@ -519,27 +504,21 @@ class GenericJsonAndUrlQueryCreatorTest {
                 "{\"key2\":\"override2\",\"key1\":\"override1\",\"c\":789}");
 
         // WHEN/THEN - Should throw IllegalArgumentException with all 
conflicting fields
-        IllegalArgumentException exception =
-                assertThrows(
-                        IllegalArgumentException.class,
-                        () -> {
-                            new GenericJsonAndUrlQueryCreatorFactory()
-                                    .createLookupQueryCreator(
-                                            config,
-                                            lookupRow,
-                                            getTableContext(config, 
RESOLVED_SCHEMA));
-                        });
-
-        // Verify the error message contains both fields regardless of order
-        assertThat(exception.getMessage())
-                .contains(
-                        "The http.request.additional-body-json option should 
not override join keys");
-        assertThat(exception.getMessage())
-                .contains(
-                        "as join keys are expected to target different 
enrichments on a request basis");
-        assertThat(exception.getMessage()).contains("Found conflicting 
field(s):");
-        assertThat(exception.getMessage()).contains("key1");
-        assertThat(exception.getMessage()).contains("key2");
+        assertThatThrownBy(
+                        () ->
+                                new GenericJsonAndUrlQueryCreatorFactory()
+                                        .createLookupQueryCreator(
+                                                config,
+                                                lookupRow,
+                                                getTableContext(config, 
RESOLVED_SCHEMA)))
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining(
+                        "The http.request.additional-body-json option should 
not override join keys")
+                .hasMessageContaining(
+                        "as join keys are expected to target different 
enrichments on a request basis")
+                .hasMessageContaining("Found conflicting field(s):")
+                .hasMessageContaining("key1")
+                .hasMessageContaining("key2");
     }
 
     @Test
@@ -599,21 +578,17 @@ class GenericJsonAndUrlQueryCreatorTest {
 
         // WHEN/THEN - Should throw IllegalArgumentException because 
additional JSON tries to
         // override body field
-        IllegalArgumentException exception =
-                assertThrows(
-                        IllegalArgumentException.class,
-                        () -> {
-                            new GenericJsonAndUrlQueryCreatorFactory()
-                                    .createLookupQueryCreator(
-                                            config,
-                                            lookupRow,
-                                            getTableContext(config, 
RESOLVED_SCHEMA));
-                        });
-
-        // Verify error message mentions the conflicting field
-        assertThat(exception.getMessage()).contains("customerId");
-        assertThat(exception.getMessage())
-                .contains("http.request.additional-body-json option should not 
override join keys");
+        assertThatThrownBy(
+                        () ->
+                                new GenericJsonAndUrlQueryCreatorFactory()
+                                        .createLookupQueryCreator(
+                                                config,
+                                                lookupRow,
+                                                getTableContext(config, 
RESOLVED_SCHEMA)))
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining("customerId")
+                .hasMessageContaining(
+                        "http.request.additional-body-json option should not 
override join keys");
     }
 
     @Test
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/BatchRequestHttpDynamicSinkInsertTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/BatchRequestHttpDynamicSinkInsertTest.java
index 5600208..06bb12f 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/BatchRequestHttpDynamicSinkInsertTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/BatchRequestHttpDynamicSinkInsertTest.java
@@ -48,7 +48,6 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static 
com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
 import static org.apache.flink.connector.http.TestHelper.readTestFile;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /** Test Batch Request Http Dynamic Sink Insert. */
 public class BatchRequestHttpDynamicSinkInsertTest {
@@ -255,12 +254,12 @@ public class BatchRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals("[Clee,John]", request.getBodyAsString());
-        assertEquals(RequestMethod.POST, request.getMethod());
-        assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
+        assertThat(request.getBodyAsString()).isEqualTo("[Clee,John]");
+        assertThat(request.getMethod()).isEqualTo(RequestMethod.POST);
+        
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
     }
 
     @Test
@@ -296,14 +295,15 @@ public class BatchRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals("[Clee,John]", request.getBodyAsString());
-        assertEquals(RequestMethod.POST, request.getMethod());
-        assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
-        assertEquals(originHeaderValue, request.getHeader("Origin"));
-        assertEquals(xContentTypeOptionsHeaderValue, 
request.getHeader("X-Content-Type-Options"));
+        assertThat(request.getBodyAsString()).isEqualTo("[Clee,John]");
+        assertThat(request.getMethod()).isEqualTo(RequestMethod.POST);
+        
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
+        assertThat(request.getHeader("Origin")).isEqualTo(originHeaderValue);
+        assertThat(request.getHeader("X-Content-Type-Options"))
+                .isEqualTo(xContentTypeOptionsHeaderValue);
     }
 
     @Test
@@ -352,13 +352,13 @@ public class BatchRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals(
-                "[{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
-                        + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
-                        + "\"tx_date\":\"2021-08-24 15:22:59\"}]",
-                request.getBodyAsString());
+        assertThat(request.getBodyAsString())
+                .isEqualTo(
+                        
"[{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
+                                + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
+                                + "\"tx_date\":\"2021-08-24 15:22:59\"}]");
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicSinkTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicSinkTest.java
index a4a0f88..08487a2 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicSinkTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicSinkTest.java
@@ -31,8 +31,6 @@ import org.junit.jupiter.api.Test;
 import static 
org.apache.flink.connector.http.table.sink.HttpDynamicSinkConnectorOptions.INSERT_METHOD;
 import static 
org.apache.flink.connector.http.table.sink.HttpDynamicSinkConnectorOptions.URL;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
 /** Test for {@link HttpDynamicSink}. */
 public class HttpDynamicSinkTest {
@@ -70,8 +68,8 @@ public class HttpDynamicSinkTest {
                         .setHttpPostRequestCallback(new 
Slf4jHttpPostRequestCallback())
                         .build();
 
-        assertEquals(sink, sink.copy());
-        assertEquals(sink.hashCode(), sink.copy().hashCode());
+        assertThat(sink.copy()).isEqualTo(sink);
+        assertThat(sink.copy().hashCode()).isEqualTo(sink.hashCode());
     }
 
     private HttpDynamicTableSinkBuilder getSinkBuilder() {
@@ -122,13 +120,13 @@ public class HttpDynamicSinkTest {
                         .setHttpPostRequestCallback(new 
Slf4jHttpPostRequestCallback())
                         .build();
 
-        assertEquals(sink, sink);
-        assertNotEquals(null, sink);
-        assertNotEquals("test-string", sink);
-        assertNotEquals(sink, sinkBatchSize);
-        assertNotEquals(sink, sinkSinkConfig);
-        assertNotEquals(sink, sinkDataType);
-        assertNotEquals(sink, sinkFormat);
-        assertNotEquals(sink, sinkHttpPostRequestCallback);
+        assertThat(sink).isEqualTo(sink);
+        assertThat(sink).isNotEqualTo(null);
+        assertThat(sink).isNotEqualTo("test-string");
+        assertThat(sink).isNotEqualTo(sinkBatchSize);
+        assertThat(sink).isNotEqualTo(sinkSinkConfig);
+        assertThat(sink).isNotEqualTo(sinkDataType);
+        assertThat(sink).isNotEqualTo(sinkFormat);
+        assertThat(sink).isNotEqualTo(sinkHttpPostRequestCallback);
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicTableSinkFactoryTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicTableSinkFactoryTest.java
index 055fc51..5a835a8 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicTableSinkFactoryTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/HttpDynamicTableSinkFactoryTest.java
@@ -25,7 +25,7 @@ import 
org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /**
  * Unfortunately it seems that Flink is lazy with connector instantiation, so 
one has to call INSERT
@@ -54,9 +54,8 @@ public class HttpDynamicTableSinkFactoryTest {
                                 + ")",
                         HttpDynamicTableSinkFactory.IDENTIFIER, 
"http://localhost/";);
         tEnv.executeSql(noFormatOptionCreate);
-        assertThrows(
-                ValidationException.class,
-                () -> tEnv.executeSql("INSERT INTO formatHttp VALUES 
(1)").await());
+        assertThatThrownBy(() -> tEnv.executeSql("INSERT INTO formatHttp 
VALUES (1)").await())
+                .isInstanceOf(ValidationException.class);
 
         final String noUrlOptionCreate =
                 String.format(
@@ -68,9 +67,8 @@ public class HttpDynamicTableSinkFactoryTest {
                                 + ")",
                         HttpDynamicTableSinkFactory.IDENTIFIER);
         tEnv.executeSql(noUrlOptionCreate);
-        assertThrows(
-                ValidationException.class,
-                () -> tEnv.executeSql("INSERT INTO urlHttp VALUES 
(1)").await());
+        assertThatThrownBy(() -> tEnv.executeSql("INSERT INTO urlHttp VALUES 
(1)").await())
+                .isInstanceOf(ValidationException.class);
     }
 
     @Test
@@ -87,9 +85,8 @@ public class HttpDynamicTableSinkFactoryTest {
                                 + ")",
                         HttpDynamicTableSinkFactory.IDENTIFIER, 
"http://localhost/";);
         tEnv.executeSql(invalidInsertMethod);
-        assertThrows(
-                ValidationException.class,
-                () -> tEnv.executeSql("INSERT INTO http VALUES (1)").await());
+        assertThatThrownBy(() -> tEnv.executeSql("INSERT INTO http VALUES 
(1)").await())
+                .isInstanceOf(ValidationException.class);
     }
 
     @Test
@@ -106,8 +103,7 @@ public class HttpDynamicTableSinkFactoryTest {
                                 + ")",
                         HttpDynamicTableSinkFactory.IDENTIFIER, 
"http://localhost/";);
         tEnv.executeSql(invalidInsertMethod);
-        assertThrows(
-                ValidationException.class,
-                () -> tEnv.executeSql("INSERT INTO http VALUES (1)").await());
+        assertThatThrownBy(() -> tEnv.executeSql("INSERT INTO http VALUES 
(1)").await())
+                .isInstanceOf(ValidationException.class);
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/PerRequestHttpDynamicSinkInsertTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/PerRequestHttpDynamicSinkInsertTest.java
index 03d0d2b..0e4653a 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/PerRequestHttpDynamicSinkInsertTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/table/sink/PerRequestHttpDynamicSinkInsertTest.java
@@ -38,8 +38,7 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.anyRequestedFor;
 import static com.github.tomakehurst.wiremock.client.WireMock.ok;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
 import static 
com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test Per Request Request. */
 public class PerRequestHttpDynamicSinkInsertTest {
@@ -127,16 +126,16 @@ public class PerRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals(
-                "{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
-                        + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
-                        + "\"tx_date\":\"2021-08-24 15:22:59\"}",
-                request.getBodyAsString());
-        assertEquals(RequestMethod.POST, request.getMethod());
-        assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
+        assertThat(request.getBodyAsString())
+                .isEqualTo(
+                        
"{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
+                                + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
+                                + "\"tx_date\":\"2021-08-24 15:22:59\"}");
+        assertThat(request.getMethod()).isEqualTo(RequestMethod.POST);
+        
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
     }
 
     @Test
@@ -177,7 +176,7 @@ public class PerRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(2, postedRequests.size());
+        assertThat(postedRequests).hasSize(2);
 
         var jsonRequests =
                 new HashSet<>(
@@ -187,9 +186,9 @@ public class PerRequestHttpDynamicSinkInsertTest {
                                 
"{\"id\":2,\"first_name\":\"Hedy\",\"last_name\":\"Hedgecock\",\"gender\":\"Female\","
                                         + 
"\"stock\":\"DGICA\",\"currency\":\"CNY\",\"tx_date\":\"2021-10-24 
20:53:54\"}"));
         for (var request : postedRequests) {
-            assertEquals(RequestMethod.PUT, request.getMethod());
-            assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
-            assertTrue(jsonRequests.contains(request.getBodyAsString()));
+            assertThat(request.getMethod()).isEqualTo(RequestMethod.PUT);
+            
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
+            assertThat(jsonRequests).contains(request.getBodyAsString());
             jsonRequests.remove(request.getBodyAsString());
         }
     }
@@ -220,12 +219,12 @@ public class PerRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals("Clee", request.getBodyAsString());
-        assertEquals(RequestMethod.POST, request.getMethod());
-        assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
+        assertThat(request.getBodyAsString()).isEqualTo("Clee");
+        assertThat(request.getMethod()).isEqualTo(RequestMethod.POST);
+        
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
     }
 
     @Test
@@ -262,14 +261,15 @@ public class PerRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals("Clee", request.getBodyAsString());
-        assertEquals(RequestMethod.POST, request.getMethod());
-        assertEquals(contentTypeHeaderValue, 
request.getHeader("Content-Type"));
-        assertEquals(originHeaderValue, request.getHeader("Origin"));
-        assertEquals(xContentTypeOptionsHeaderValue, 
request.getHeader("X-Content-Type-Options"));
+        assertThat(request.getBodyAsString()).isEqualTo("Clee");
+        assertThat(request.getMethod()).isEqualTo(RequestMethod.POST);
+        
assertThat(request.getHeader("Content-Type")).isEqualTo(contentTypeHeaderValue);
+        assertThat(request.getHeader("Origin")).isEqualTo(originHeaderValue);
+        assertThat(request.getHeader("X-Content-Type-Options"))
+                .isEqualTo(xContentTypeOptionsHeaderValue);
     }
 
     @Test
@@ -319,13 +319,13 @@ public class PerRequestHttpDynamicSinkInsertTest {
         tEnv.executeSql(insert).await();
 
         var postedRequests = 
wireMockServer.findAll(anyRequestedFor(urlPathEqualTo("/myendpoint")));
-        assertEquals(1, postedRequests.size());
+        assertThat(postedRequests).hasSize(1);
 
         var request = postedRequests.get(0);
-        assertEquals(
-                "{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
-                        + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
-                        + "\"tx_date\":\"2021-08-24 15:22:59\"}",
-                request.getBodyAsString());
+        assertThat(request.getBodyAsString())
+                .isEqualTo(
+                        
"{\"id\":1,\"first_name\":\"Ninette\",\"last_name\":\"Clee\","
+                                + 
"\"gender\":\"Female\",\"stock\":\"CDZI\",\"currency\":\"RUB\","
+                                + "\"tx_date\":\"2021-08-24 15:22:59\"}");
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/CharArrayBufferTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/CharArrayBufferTest.java
index db65cec..9737a71 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/CharArrayBufferTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/CharArrayBufferTest.java
@@ -18,7 +18,6 @@
 
 package org.apache.flink.connector.http.utils.uri;
 
-import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
@@ -27,14 +26,14 @@ import org.junit.jupiter.params.provider.MethodSource;
 import java.util.stream.Stream;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 class CharArrayBufferTest {
 
     @Test
     public void testInvalidCapacity() {
-        assertThrows(IllegalArgumentException.class, () -> new 
CharArrayBuffer(0));
+        assertThatThrownBy(() -> new CharArrayBuffer(0))
+                .isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
@@ -54,23 +53,15 @@ class CharArrayBufferTest {
         CharArrayBuffer charArrayBuffer = new CharArrayBuffer(1);
         charArrayBuffer.append(testText);
 
-        assertAll(
-                () -> {
-                    Assertions.assertThrows(
-                            IndexOutOfBoundsException.class,
-                            () -> charArrayBuffer.subSequence(-1, 1));
-                    Assertions.assertThrows(
-                            IndexOutOfBoundsException.class,
-                            () -> charArrayBuffer.subSequence(1, -1));
-                    Assertions.assertThrows(
-                            IndexOutOfBoundsException.class,
-                            () -> charArrayBuffer.subSequence(2, 1));
-                    Assertions.assertThrows(
-                            IndexOutOfBoundsException.class,
-                            () -> charArrayBuffer.subSequence(2, 
testText.length() + 5));
-                    assertThat(charArrayBuffer.subSequence(2, 10).toString())
-                            .isEqualTo("llo My Fri");
-                });
+        assertThatThrownBy(() -> charArrayBuffer.subSequence(-1, 1))
+                .isInstanceOf(IndexOutOfBoundsException.class);
+        assertThatThrownBy(() -> charArrayBuffer.subSequence(1, -1))
+                .isInstanceOf(IndexOutOfBoundsException.class);
+        assertThatThrownBy(() -> charArrayBuffer.subSequence(2, 1))
+                .isInstanceOf(IndexOutOfBoundsException.class);
+        assertThatThrownBy(() -> charArrayBuffer.subSequence(2, 
testText.length() + 5))
+                .isInstanceOf(IndexOutOfBoundsException.class);
+        assertThat(charArrayBuffer.subSequence(2, 
10).toString()).isEqualTo("llo My Fri");
     }
 
     private static Stream<Arguments> appendArgs() {
@@ -86,11 +77,8 @@ class CharArrayBufferTest {
         CharArrayBuffer charArrayBuffer = new CharArrayBuffer(1);
         charArrayBuffer.append("baseString");
 
-        assertAll(
-                () -> {
-                    
assertThat(charArrayBuffer.toString()).isEqualTo("baseString");
-                    charArrayBuffer.append(stringToAppend);
-                    assertThat(charArrayBuffer.toString()).isEqualTo(expected);
-                });
+        assertThat(charArrayBuffer.toString()).isEqualTo("baseString");
+        charArrayBuffer.append(stringToAppend);
+        assertThat(charArrayBuffer.toString()).isEqualTo(expected);
     }
 }
diff --git 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/ParserCursorTest.java
 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/ParserCursorTest.java
index f83135b..7ad9511 100644
--- 
a/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/ParserCursorTest.java
+++ 
b/flink-connector-http/src/test/java/org/apache/flink/connector/http/utils/uri/ParserCursorTest.java
@@ -20,30 +20,24 @@ package org.apache.flink.connector.http.utils.uri;
 
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Test for {@link ParserCursor}. */
 class ParserCursorTest {
 
     @Test
     public void testBoundsValidation() {
-
-        assertAll(
-                () -> {
-                    assertThrows(IndexOutOfBoundsException.class, () -> new 
ParserCursor(-1, 1));
-                    assertThrows(IndexOutOfBoundsException.class, () -> new 
ParserCursor(1, -1));
-                });
+        assertThatThrownBy(() -> new ParserCursor(-1, 1))
+                .isInstanceOf(IndexOutOfBoundsException.class);
+        assertThatThrownBy(() -> new ParserCursor(1, -1))
+                .isInstanceOf(IndexOutOfBoundsException.class);
     }
 
     @Test
     public void testUpdatePostValidation() {
         ParserCursor cursor = new ParserCursor(1, 2);
 
-        assertAll(
-                () -> {
-                    assertThrows(IndexOutOfBoundsException.class, () -> 
cursor.updatePos(0));
-                    assertThrows(IndexOutOfBoundsException.class, () -> 
cursor.updatePos(3));
-                });
+        assertThatThrownBy(() -> 
cursor.updatePos(0)).isInstanceOf(IndexOutOfBoundsException.class);
+        assertThatThrownBy(() -> 
cursor.updatePos(3)).isInstanceOf(IndexOutOfBoundsException.class);
     }
 }

Reply via email to