diff --git a/plugin/trino-elasticsearch/pom.xml b/plugin/trino-elasticsearch/pom.xml
index 909fbcda9da6..51243d7bddf8 100644
--- a/plugin/trino-elasticsearch/pom.xml
+++ b/plugin/trino-elasticsearch/pom.xml
@@ -366,6 +366,18 @@
test
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
org.testcontainers
elasticsearch
@@ -421,5 +433,25 @@
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+
+ org.apache.maven.surefire
+ surefire-junit-platform
+ ${dep.plugin.surefire.version}
+
+
+ org.apache.maven.surefire
+ surefire-testng
+ ${dep.plugin.surefire.version}
+
+
+
+
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestAwsSecurityConfig.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestAwsSecurityConfig.java
index 83cadcceb261..8bfb32eac484 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestAwsSecurityConfig.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestAwsSecurityConfig.java
@@ -14,7 +14,7 @@
package io.trino.plugin.elasticsearch;
import com.google.common.collect.ImmutableMap;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.util.Map;
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchConfig.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchConfig.java
index 9b3b8081b24c..4a74a4096701 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchConfig.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchConfig.java
@@ -15,7 +15,7 @@
import com.google.common.collect.ImmutableMap;
import io.airlift.units.Duration;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchMetadata.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchMetadata.java
index e030a4157ab6..8a6b5795b9b1 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchMetadata.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchMetadata.java
@@ -14,7 +14,7 @@
package io.trino.plugin.elasticsearch;
import io.airlift.slice.Slices;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchQueryBuilder.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchQueryBuilder.java
index fe688c2bacdd..a6d660033572 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchQueryBuilder.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestElasticsearchQueryBuilder.java
@@ -28,7 +28,7 @@
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.RangeQueryBuilder;
import org.elasticsearch.index.query.TermQueryBuilder;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.util.Map;
import java.util.Optional;
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordAuthentication.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordAuthentication.java
index 8fb75d4a5281..a9ac0b5f6caf 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordAuthentication.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordAuthentication.java
@@ -27,9 +27,10 @@
import org.apache.http.nio.entity.NStringEntity;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -40,7 +41,9 @@
import static java.lang.String.format;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS;
+@TestInstance(PER_CLASS)
public class TestPasswordAuthentication
{
private static final String USER = "elastic_user";
@@ -50,7 +53,7 @@ public class TestPasswordAuthentication
private RestHighLevelClient client;
private QueryAssertions assertions;
- @BeforeClass
+ @BeforeAll
public void setUp()
throws Exception
{
@@ -79,7 +82,7 @@ public void setUp()
assertions = new QueryAssertions(runner);
}
- @AfterClass(alwaysRun = true)
+ @AfterAll
public final void destroy()
throws IOException
{
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordConfig.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordConfig.java
index 1c87b2b69725..d767ac265363 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordConfig.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/TestPasswordConfig.java
@@ -14,7 +14,7 @@
package io.trino.plugin.elasticsearch;
import com.google.common.collect.ImmutableMap;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.util.Map;
diff --git a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/client/TestExtractAddress.java b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/client/TestExtractAddress.java
index 889a19eeb548..fc8213bf8070 100644
--- a/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/client/TestExtractAddress.java
+++ b/plugin/trino-elasticsearch/src/test/java/io/trino/plugin/elasticsearch/client/TestExtractAddress.java
@@ -13,7 +13,7 @@
*/
package io.trino.plugin.elasticsearch.client;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
import java.util.Optional;