diff --git a/gateway-ha/pom.xml b/gateway-ha/pom.xml
index 25225d77e..687f1c481 100644
--- a/gateway-ha/pom.xml
+++ b/gateway-ha/pom.xml
@@ -141,8 +141,8 @@
- org.testng
- testng
+ org.junit.jupiter
+ junit-jupiter-params
test
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/HaGatewayTestUtils.java b/gateway-ha/src/test/java/io/trino/gateway/ha/HaGatewayTestUtils.java
index f3d3830ca..682601399 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/HaGatewayTestUtils.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/HaGatewayTestUtils.java
@@ -1,5 +1,7 @@
package io.trino.gateway.ha;
+import static org.junit.Assert.assertTrue;
+
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.client.WireMock;
import io.trino.gateway.ha.config.DataStoreConfiguration;
@@ -20,9 +22,11 @@
import okhttp3.RequestBody;
import okhttp3.Response;
import org.javalite.activejdbc.Base;
-import org.testng.Assert;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
@Slf4j
+@TestInstance(Lifecycle.PER_CLASS)
public class HaGatewayTestUtils {
private static final OkHttpClient httpClient = new OkHttpClient();
private static final Random RANDOM = new Random();
@@ -114,7 +118,7 @@ public static void setUpBackend(
.post(requestBody)
.build();
Response response = httpClient.newCall(request).execute();
- Assert.assertTrue(response.isSuccessful());
+ assertTrue(response.isSuccessful());
}
@Data
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaMultipleBackend.java b/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaMultipleBackend.java
index 6dc401533..ed1af4e6b 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaMultipleBackend.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaMultipleBackend.java
@@ -1,5 +1,7 @@
package io.trino.gateway.ha;
+import static org.junit.Assert.assertEquals;
+
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
import okhttp3.MediaType;
@@ -7,11 +9,13 @@
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
-import org.testng.Assert;
-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 org.junit.jupiter.api.TestInstance.Lifecycle;
+@TestInstance(Lifecycle.PER_CLASS)
public class TestGatewayHaMultipleBackend {
public static final String EXPECTED_RESPONSE1 = "{\"id\":\"testId1\"}";
public static final String EXPECTED_RESPONSE2 = "{\"id\":\"testId2\"}";
@@ -25,7 +29,7 @@ public class TestGatewayHaMultipleBackend {
private final WireMockServer scheduledBackend =
new WireMockServer(WireMockConfiguration.options().port(backend2Port));
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setup() throws Exception {
HaGatewayTestUtils.prepareMockBackend(adhocBackend, "/v1/statement", EXPECTED_RESPONSE1);
HaGatewayTestUtils.prepareMockBackend(scheduledBackend, "/v1/statement", EXPECTED_RESPONSE2);
@@ -57,7 +61,7 @@ public void testQueryDeliveryToMultipleRoutingGroups() throws Exception {
.post(requestBody)
.build();
Response response1 = httpClient.newCall(request1).execute();
- Assert.assertEquals(response1.body().string(), EXPECTED_RESPONSE1);
+ assertEquals(EXPECTED_RESPONSE1, response1.body().string());
// When X-Trino-Routing-Group is set in header, query should be routed to cluster under the
// routing group
@@ -68,10 +72,10 @@ public void testQueryDeliveryToMultipleRoutingGroups() throws Exception {
.addHeader("X-Trino-Routing-Group", "scheduled")
.build();
Response response4 = httpClient.newCall(request4).execute();
- Assert.assertEquals(response4.body().string(), EXPECTED_RESPONSE2);
+ assertEquals(EXPECTED_RESPONSE2, response4.body().string());
}
- @AfterClass(alwaysRun = true)
+ @AfterAll
public void cleanup() {
adhocBackend.stop();
scheduledBackend.stop();
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaSingleBackend.java b/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaSingleBackend.java
index c903c04b6..d6fcfceaa 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaSingleBackend.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/TestGatewayHaSingleBackend.java
@@ -1,5 +1,7 @@
package io.trino.gateway.ha;
+import static org.junit.Assert.assertEquals;
+
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
import okhttp3.MediaType;
@@ -7,11 +9,13 @@
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
-import org.testng.Assert;
-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 org.junit.jupiter.api.TestInstance.Lifecycle;
+@TestInstance(Lifecycle.PER_CLASS)
public class TestGatewayHaSingleBackend {
public static final String EXPECTED_RESPONSE = "{\"id\":\"testId\"}";
int backendPort = 20000 + (int) (Math.random() * 1000);
@@ -21,7 +25,7 @@ public class TestGatewayHaSingleBackend {
new WireMockServer(WireMockConfiguration.options().port(backendPort));
private final OkHttpClient httpClient = new OkHttpClient();
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setup() throws Exception {
HaGatewayTestUtils.prepareMockBackend(backend, "/v1/statement", EXPECTED_RESPONSE);
@@ -46,10 +50,10 @@ public void testRequestDelivery() throws Exception {
.post(requestBody)
.build();
Response response = httpClient.newCall(request).execute();
- Assert.assertEquals(EXPECTED_RESPONSE, response.body().string());
+ assertEquals(EXPECTED_RESPONSE, response.body().string());
}
- @AfterClass(alwaysRun = true)
+ @AfterAll
public void cleanup() {
backend.stop();
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/handler/TestQueryIdCachingProxyHandler.java b/gateway-ha/src/test/java/io/trino/gateway/ha/handler/TestQueryIdCachingProxyHandler.java
index 0b7335668..ce5b55e71 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/handler/TestQueryIdCachingProxyHandler.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/handler/TestQueryIdCachingProxyHandler.java
@@ -1,7 +1,7 @@
package io.trino.gateway.ha.handler;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
import java.io.IOException;
@@ -9,12 +9,13 @@
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.api.Request;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
import org.mockito.Mockito;
-import org.testng.Assert;
-import org.testng.annotations.Test;
+@TestInstance(Lifecycle.PER_CLASS)
public class TestQueryIdCachingProxyHandler {
-
@Test
public void testExtractQueryIdFromUrl() throws IOException {
String[] paths = {
@@ -24,7 +25,7 @@ public void testExtractQueryIdFromUrl() throws IOException {
"/ui/api/query.html?20200416_160256_03078_6b4yt"};
for (String path : paths) {
String queryId = QueryIdCachingProxyHandler.extractQueryIdIfPresent(path, null);
- assertEquals(queryId, "20200416_160256_03078_6b4yt");
+ assertEquals("20200416_160256_03078_6b4yt", queryId);
}
String[] nonPaths = {
"/ui/api/query/myOtherThing",
@@ -46,8 +47,8 @@ public void testForwardedHostHeaderOnProxyRequest() throws IOException {
Request proxyRequest = httpClient.newRequest("http://localhost:80");
QueryIdCachingProxyHandler.setForwardedHostHeaderOnProxyRequest(mockServletRequest,
proxyRequest);
- Assert.assertEquals(proxyRequest.getHeaders().get("Host"), String.format("%s:%s",
- backendServer, backendPort));
+ assertEquals(String.format("%s:%s",
+ backendServer, backendPort), proxyRequest.getHeaders().get("Host"));
}
@Test
@@ -58,12 +59,11 @@ public void testUserFromRequest() throws IOException {
String authHeader = "Basic dGVzdDoxMjPCow==";
Mockito.when(req.getHeader(QueryIdCachingProxyHandler.AUTHORIZATION))
.thenReturn(authHeader);
- Assert.assertEquals(QueryIdCachingProxyHandler.getQueryUser(req), "test");
+ assertEquals("test", QueryIdCachingProxyHandler.getQueryUser(req));
String user = "trino_user";
Mockito.when(req.getHeader(QueryIdCachingProxyHandler.USER_HEADER))
.thenReturn(user);
- Assert.assertEquals(QueryIdCachingProxyHandler.getQueryUser(req), user);
-
+ assertEquals(user, QueryIdCachingProxyHandler.getQueryUser(req));
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaGatewayManager.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaGatewayManager.java
index 7b09d1347..452cd7da9 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaGatewayManager.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaGatewayManager.java
@@ -1,21 +1,28 @@
package io.trino.gateway.ha.router;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
import io.trino.gateway.ha.HaGatewayTestUtils;
import io.trino.gateway.ha.config.DataStoreConfiguration;
import io.trino.gateway.ha.config.ProxyBackendConfiguration;
import io.trino.gateway.ha.persistence.JdbcConnectionManager;
import java.io.File;
import java.util.List;
-import org.testng.Assert;
-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.MethodOrderer;
+import org.junit.jupiter.api.Order;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+import org.junit.jupiter.api.TestMethodOrder;
-@Test
+@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
+@TestInstance(Lifecycle.PER_CLASS)
public class TestHaGatewayManager {
private HaGatewayManager haGatewayManager;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setUp() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempH2DbDir = new File(baseDir, "h2db-" + System.currentTimeMillis());
@@ -28,6 +35,8 @@ public void setUp() {
haGatewayManager = new HaGatewayManager(connectionManager);
}
+ @Test
+ @Order(1)
public void testAddBackend() {
ProxyBackendConfiguration backend = new ProxyBackendConfiguration();
backend.setActive(true);
@@ -36,25 +45,27 @@ public void testAddBackend() {
backend.setProxyTo("adhoc1.trino.gateway.io");
backend.setExternalUrl("adhoc1.trino.gateway.io");
ProxyBackendConfiguration updated = haGatewayManager.addBackend(backend);
- Assert.assertEquals(updated, backend);
+ assertEquals(backend, updated);
}
- @Test(dependsOnMethods = {"testAddBackend"})
+ @Test
+ @Order(2)
public void testGetBackends() {
List backends = haGatewayManager.getAllBackends();
- Assert.assertEquals(backends.size(), 1);
+ assertEquals(1, backends.size());
backends = haGatewayManager.getActiveBackends("adhoc");
- Assert.assertEquals(backends.size(), 1);
+ assertEquals(1, backends.size());
backends = haGatewayManager.getActiveBackends("unknown");
- Assert.assertEquals(backends.size(), 0);
+ assertEquals(0, backends.size());
backends = haGatewayManager.getActiveAdhocBackends();
- Assert.assertEquals(backends.size(), 1);
+ assertEquals(1, backends.size());
}
- @Test(dependsOnMethods = {"testGetBackends"})
+ @Test
+ @Order(3)
public void testUpdateBackend() {
ProxyBackendConfiguration backend = new ProxyBackendConfiguration();
backend.setActive(false);
@@ -64,7 +75,7 @@ public void testUpdateBackend() {
backend.setExternalUrl("adhoc1.trino.gateway.io");
haGatewayManager.updateBackend(backend);
List backends = haGatewayManager.getActiveBackends("adhoc");
- Assert.assertEquals(backends.size(), 1);
+ assertEquals(1, backends.size());
backend.setActive(false);
backend.setRoutingGroup("etl");
@@ -73,23 +84,24 @@ public void testUpdateBackend() {
backend.setExternalUrl("adhoc2.trino.gateway.io");
haGatewayManager.updateBackend(backend);
backends = haGatewayManager.getActiveBackends("adhoc");
- Assert.assertEquals(backends.size(), 0);
+ assertEquals(0, backends.size());
backends = haGatewayManager.getAllBackends();
- Assert.assertEquals(backends.size(), 2);
- Assert.assertEquals(backends.get(1).getRoutingGroup(), "etl");
+ assertEquals(2, backends.size());
+ assertEquals("etl", backends.get(1).getRoutingGroup());
}
- @Test(dependsOnMethods = {"testUpdateBackend"})
+ @Test
+ @Order(4)
public void testDeleteBackend() {
List backends = haGatewayManager.getAllBackends();
- Assert.assertEquals(backends.size(), 2);
- Assert.assertEquals(backends.get(1).getRoutingGroup(), "etl");
+ assertEquals(2, backends.size());
+ assertEquals("etl", backends.get(1).getRoutingGroup());
haGatewayManager.deleteBackend(backends.get(0).getName());
backends = haGatewayManager.getAllBackends();
- Assert.assertEquals(backends.size(), 1);
+ assertEquals(1, backends.size());
}
- @AfterClass(alwaysRun = true)
+ @AfterAll
public void cleanUp() {
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaRoutingManager.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaRoutingManager.java
index 0ef8ee451..4cd43ae02 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaRoutingManager.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestHaRoutingManager.java
@@ -7,17 +7,19 @@
import java.io.File;
import lombok.extern.slf4j.Slf4j;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
@Slf4j
-@Test
+@TestInstance(Lifecycle.PER_CLASS)
public class TestHaRoutingManager {
RoutingManager haRoutingManager;
GatewayBackendManager backendManager;
QueryHistoryManager historyManager;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setUp() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempH2DbDir = new File(baseDir, "h2db-" + System.currentTimeMillis());
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestQueryHistoryManager.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestQueryHistoryManager.java
index be9494eac..2226567b7 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestQueryHistoryManager.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestQueryHistoryManager.java
@@ -1,20 +1,24 @@
package io.trino.gateway.ha.router;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import io.trino.gateway.ha.HaGatewayTestUtils;
import io.trino.gateway.ha.config.DataStoreConfiguration;
import io.trino.gateway.ha.persistence.JdbcConnectionManager;
import java.io.File;
import java.util.List;
import java.util.Optional;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
-@Test
+@TestInstance(Lifecycle.PER_CLASS)
public class TestQueryHistoryManager {
private QueryHistoryManager queryHistoryManager;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setUp() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempH2DbDir = new File(baseDir, "h2db-" + System.currentTimeMillis());
@@ -29,10 +33,11 @@ public void setUp() {
}
+ @Test
public void testSubmitAndFetchQueryHistory() {
List queryDetails =
queryHistoryManager.fetchQueryHistory(Optional.empty());
- Assert.assertEquals(queryDetails.size(), 0);
+ assertEquals(0, queryDetails.size());
QueryHistoryManager.QueryDetail queryDetail = new QueryHistoryManager.QueryDetail();
queryDetail.setBackendUrl("http://localhost:9999");
queryDetail.setSource("sqlWorkbench");
@@ -51,13 +56,13 @@ public void testSubmitAndFetchQueryHistory() {
queryHistoryManager.submitQueryDetail(queryDetail);
queryDetails = queryHistoryManager.fetchQueryHistory(Optional.empty());
- Assert.assertTrue(queryDetails.get(0).getCaptureTime() > queryDetails.get(1).getCaptureTime());
+ assertTrue(queryDetails.get(0).getCaptureTime() > queryDetails.get(1).getCaptureTime());
// All queries when user is empty
- Assert.assertEquals(queryDetails.size(), 3);
+ assertEquals(3, queryDetails.size());
queryDetails = queryHistoryManager.fetchQueryHistory(Optional.of("other-user"));
// Only 1 query when user is 'other-user'
- Assert.assertEquals(queryDetails.size(), 1);
+ assertEquals(1, queryDetails.size());
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestResourceGroupsManager.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestResourceGroupsManager.java
index 48612152f..d78be5c22 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestResourceGroupsManager.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestResourceGroupsManager.java
@@ -4,6 +4,9 @@
import static io.trino.gateway.ha.router.ResourceGroupsManager.GlobalPropertiesDetail;
import static io.trino.gateway.ha.router.ResourceGroupsManager.ResourceGroupsDetail;
import static io.trino.gateway.ha.router.ResourceGroupsManager.SelectorsDetail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import io.trino.gateway.ha.HaGatewayTestUtils;
import io.trino.gateway.ha.config.DataStoreConfiguration;
@@ -11,17 +14,21 @@
import java.io.File;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
-import org.testng.Assert;
-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.Order;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+import org.junit.jupiter.api.TestMethodOrder;
@Slf4j
-@Test
+@TestMethodOrder(OrderAnnotation.class)
+@TestInstance(Lifecycle.PER_CLASS)
public class TestResourceGroupsManager {
public ResourceGroupsManager resourceGroupManager;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setUp() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempH2DbDir = new File(baseDir, "h2db-" + System.currentTimeMillis());
@@ -35,6 +42,7 @@ public void setUp() {
}
@Test
+ @Order(1)
public void testCreateResourceGroup() {
ResourceGroupsDetail resourceGroup = new ResourceGroupsDetail();
@@ -48,23 +56,25 @@ public void testCreateResourceGroup() {
ResourceGroupsDetail newResourceGroup = resourceGroupManager.createResourceGroup(resourceGroup,
null);
- Assert.assertEquals(newResourceGroup, resourceGroup);
+ assertEquals(resourceGroup, newResourceGroup);
}
- @Test(dependsOnMethods = {"testCreateResourceGroup"})
+ @Test
+ @Order(2)
public void testReadResourceGroup() {
List resourceGroups = resourceGroupManager.readAllResourceGroups(null);
- Assert.assertEquals(resourceGroups.size(), 1);
-
- Assert.assertEquals(resourceGroups.get(0).getResourceGroupId(), 0L);
- Assert.assertEquals(resourceGroups.get(0).getName(), "admin");
- Assert.assertEquals(resourceGroups.get(0).getHardConcurrencyLimit(), 20);
- Assert.assertEquals(resourceGroups.get(0).getMaxQueued(), 200);
- Assert.assertEquals(resourceGroups.get(0).getJmxExport(), Boolean.TRUE);
- Assert.assertEquals(resourceGroups.get(0).getSoftMemoryLimit(), "80%");
+ assertEquals(resourceGroups.size(), 1);
+
+ assertEquals(0L, resourceGroups.get(0).getResourceGroupId());
+ assertEquals("admin", resourceGroups.get(0).getName());
+ assertEquals(20, resourceGroups.get(0).getHardConcurrencyLimit());
+ assertEquals(200, resourceGroups.get(0).getMaxQueued());
+ assertEquals(Boolean.TRUE, resourceGroups.get(0).getJmxExport());
+ assertEquals("80%", resourceGroups.get(0).getSoftMemoryLimit());
}
- @Test(dependsOnMethods = {"testReadResourceGroup"})
+ @Test
+ @Order(3)
public void testUpdateResourceGroup() {
ResourceGroupsDetail resourceGroup = new ResourceGroupsDetail();
resourceGroup.setResourceGroupId(0L);
@@ -76,8 +86,8 @@ public void testUpdateResourceGroup() {
ResourceGroupsDetail updated = resourceGroupManager.updateResourceGroup(resourceGroup, null);
List resourceGroups = resourceGroupManager.readAllResourceGroups(null);
- Assert.assertEquals(resourceGroups.size(), 1);
- Assert.assertEquals(updated, resourceGroup);
+ assertEquals(1, resourceGroups.size());
+ assertEquals(resourceGroup, updated);
/* Update resourceGroups that do not exist yet.
* In this case, new resourceGroups should be created. */
@@ -101,43 +111,44 @@ public void testUpdateResourceGroup() {
resourceGroups = resourceGroupManager.readAllResourceGroups(null);
- Assert.assertEquals(
- resourceGroups.size(), 3); // updated 2 non-existing groups, so count should be 3
-
- Assert.assertEquals(resourceGroups.get(0).getResourceGroupId(), 0L);
- Assert.assertEquals(resourceGroups.get(0).getName(), "admin");
- Assert.assertEquals(resourceGroups.get(0).getHardConcurrencyLimit(), 50);
- Assert.assertEquals(resourceGroups.get(0).getMaxQueued(), 50);
- Assert.assertEquals(resourceGroups.get(0).getJmxExport(), Boolean.FALSE);
- Assert.assertEquals(resourceGroups.get(0).getSoftMemoryLimit(), "20%");
-
- Assert.assertEquals(resourceGroups.get(1).getResourceGroupId(), 1L);
- Assert.assertEquals(resourceGroups.get(1).getName(), "localization-eng");
- Assert.assertEquals(resourceGroups.get(1).getHardConcurrencyLimit(), 50);
- Assert.assertEquals(resourceGroups.get(1).getMaxQueued(), 70);
- Assert.assertEquals(resourceGroups.get(1).getJmxExport(), Boolean.TRUE);
- Assert.assertEquals(resourceGroups.get(1).getSoftMemoryLimit(), "20%");
- Assert.assertEquals(resourceGroups.get(1).getSoftConcurrencyLimit(), Integer.valueOf(20));
+ assertEquals(3, resourceGroups.size()); // updated 2 non-existing groups, so count should be 3
+
+ assertEquals(0L, resourceGroups.get(0).getResourceGroupId());
+ assertEquals("admin", resourceGroups.get(0).getName());
+ assertEquals(50, resourceGroups.get(0).getHardConcurrencyLimit());
+ assertEquals(50, resourceGroups.get(0).getMaxQueued());
+ assertEquals(Boolean.FALSE, resourceGroups.get(0).getJmxExport());
+ assertEquals("20%", resourceGroups.get(0).getSoftMemoryLimit());
+
+ assertEquals(1L, resourceGroups.get(1).getResourceGroupId());
+ assertEquals("localization-eng", resourceGroups.get(1).getName());
+ assertEquals(50, resourceGroups.get(1).getHardConcurrencyLimit());
+ assertEquals(70, resourceGroups.get(1).getMaxQueued());
+ assertEquals(Boolean.TRUE, resourceGroups.get(1).getJmxExport());
+ assertEquals("20%", resourceGroups.get(1).getSoftMemoryLimit());
+ assertEquals(Integer.valueOf(20), resourceGroups.get(1).getSoftConcurrencyLimit());
}
- @Test(dependsOnMethods = {"testUpdateResourceGroup"})
+ @Test
+ @Order(4)
public void testDeleteResourceGroup() {
List resourceGroups = resourceGroupManager.readAllResourceGroups(null);
- Assert.assertEquals(resourceGroups.size(), 3);
+ assertEquals(3, resourceGroups.size());
- Assert.assertEquals(resourceGroups.get(0).getResourceGroupId(), 0L);
- Assert.assertEquals(resourceGroups.get(1).getResourceGroupId(), 1L);
- Assert.assertEquals(resourceGroups.get(2).getResourceGroupId(), 3L);
+ assertEquals(0L, resourceGroups.get(0).getResourceGroupId());
+ assertEquals(1L, resourceGroups.get(1).getResourceGroupId());
+ assertEquals(3L, resourceGroups.get(2).getResourceGroupId());
resourceGroupManager.deleteResourceGroup(resourceGroups.get(1).getResourceGroupId(), null);
resourceGroups = resourceGroupManager.readAllResourceGroups(null);
- Assert.assertEquals(resourceGroups.size(), 2);
- Assert.assertEquals(resourceGroups.get(0).getResourceGroupId(), 0L);
- Assert.assertEquals(resourceGroups.get(1).getResourceGroupId(), 3L);
+ assertEquals(2, resourceGroups.size());
+ assertEquals(0L, resourceGroups.get(0).getResourceGroupId());
+ assertEquals(3L, resourceGroups.get(1).getResourceGroupId());
}
- @Test(dependsOnMethods = {"testDeleteResourceGroup"})
+ @Test
+ @Order(5)
public void testCreateSelector() {
SelectorsDetail selector = new SelectorsDetail();
selector.setResourceGroupId(0L);
@@ -150,24 +161,26 @@ public void testCreateSelector() {
SelectorsDetail newSelector = resourceGroupManager.createSelector(selector, null);
- Assert.assertEquals(newSelector, selector);
+ assertEquals(selector, newSelector);
}
- @Test(dependsOnMethods = {"testCreateSelector"})
+ @Test
+ @Order(6)
public void testReadSelector() {
List selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 1);
- Assert.assertEquals(selectors.get(0).getResourceGroupId(), 0L);
- Assert.assertEquals(selectors.get(0).getPriority(), 0L);
- Assert.assertEquals(selectors.get(0).getUserRegex(), "data-platform-admin");
- Assert.assertEquals(selectors.get(0).getSourceRegex(), "admin");
- Assert.assertEquals(selectors.get(0).getQueryType(), "query_type");
- Assert.assertEquals(selectors.get(0).getClientTags(), "client_tag");
- Assert.assertEquals(selectors.get(0).getSelectorResourceEstimate(), "estimate");
+ assertEquals(1, selectors.size());
+ assertEquals(0L, selectors.get(0).getResourceGroupId());
+ assertEquals(0L, selectors.get(0).getPriority());
+ assertEquals("data-platform-admin", selectors.get(0).getUserRegex());
+ assertEquals("admin", selectors.get(0).getSourceRegex());
+ assertEquals("query_type", selectors.get(0).getQueryType());
+ assertEquals("client_tag", selectors.get(0).getClientTags() );
+ assertEquals("estimate", selectors.get(0).getSelectorResourceEstimate());
}
- @Test(dependsOnMethods = {"testReadSelector"})
+ @Test
+ @Order(7)
public void testUpdateSelector() {
SelectorsDetail selector = new SelectorsDetail();
@@ -183,8 +196,8 @@ public void testUpdateSelector() {
SelectorsDetail updated = resourceGroupManager.updateSelector(selectors.get(0), selector, null);
selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 1);
- Assert.assertEquals(updated, selectors.get(0));
+ assertEquals(1, selectors.size());
+ assertEquals(selectors.get(0), updated);
/* Update selectors that do not exist yet.
* In this case, a new selector should be created. */
@@ -199,8 +212,8 @@ public void testUpdateSelector() {
updated = resourceGroupManager.updateSelector(new SelectorsDetail(), selector, null);
selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 2);
- Assert.assertEquals(updated, selectors.get(1));
+ assertEquals(2, selectors.size());
+ assertEquals(selectors.get(1), updated);
/* Create selector with an already existing resourceGroupId.
* In this case, new selector should be created. */
@@ -215,21 +228,24 @@ public void testUpdateSelector() {
updated = resourceGroupManager.updateSelector(new SelectorsDetail(), selector, null);
selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 3);
- Assert.assertEquals(updated, selectors.get(2));
+ assertEquals(3, selectors.size());
+ assertEquals(selectors.get(2), updated);
}
- @Test(dependsOnMethods = {"testUpdateSelector"})
+ @Test
+ @Order(8)
public void testDeleteSelector() {
List selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 3);
- Assert.assertEquals(selectors.get(0).getResourceGroupId(), 0L);
+ assertEquals(3, selectors.size());
+ assertEquals(0L, selectors.get(0).getResourceGroupId());
resourceGroupManager.deleteSelector(selectors.get(0), null);
selectors = resourceGroupManager.readAllSelectors(null);
- Assert.assertEquals(selectors.size(), 2);
+ assertEquals(2, selectors.size());
}
+ @Test
+ @Order(9)
public void testCreateGlobalProperties() {
GlobalPropertiesDetail globalPropertiesDetail = new GlobalPropertiesDetail();
globalPropertiesDetail.setName("cpu_quota_period");
@@ -238,7 +254,7 @@ public void testCreateGlobalProperties() {
GlobalPropertiesDetail newGlobalProperties =
resourceGroupManager.createGlobalProperty(globalPropertiesDetail, null);
- Assert.assertEquals(newGlobalProperties, globalPropertiesDetail);
+ assertEquals(globalPropertiesDetail, newGlobalProperties);
try { // make sure that the name is cpu_quota_period
GlobalPropertiesDetail invalidGlobalProperty = new GlobalPropertiesDetail();
@@ -246,22 +262,24 @@ public void testCreateGlobalProperties() {
invalidGlobalProperty.setValue("1h");
resourceGroupManager.createGlobalProperty(invalidGlobalProperty, null);
} catch (Exception ex) {
- Assert.assertTrue(ex.getCause() instanceof org.h2.jdbc.JdbcSQLException);
- Assert.assertTrue(ex.getCause().getMessage().startsWith("Check constraint violation:"));
+ assertTrue(ex.getCause() instanceof org.h2.jdbc.JdbcSQLException);
+ assertTrue(ex.getCause().getMessage().startsWith("Check constraint violation:"));
}
}
- @Test(dependsOnMethods = {"testCreateGlobalProperties"})
+ @Test
+ @Order(10)
public void testReadGlobalProperties() {
List globalProperties = resourceGroupManager.readAllGlobalProperties(
null);
- Assert.assertEquals(globalProperties.size(), 1);
- Assert.assertEquals(globalProperties.get(0).getName(), "cpu_quota_period");
- Assert.assertEquals(globalProperties.get(0).getValue(), "1h");
+ assertEquals(1, globalProperties.size());
+ assertEquals("cpu_quota_period", globalProperties.get(0).getName());
+ assertEquals("1h", globalProperties.get(0).getValue());
}
- @Test(dependsOnMethods = {"testReadGlobalProperties"})
+ @Test
+ @Order(11)
public void testUpdateGlobalProperties() {
GlobalPropertiesDetail globalPropertiesDetail = new GlobalPropertiesDetail();
globalPropertiesDetail.setName("cpu_quota_period");
@@ -272,8 +290,8 @@ public void testUpdateGlobalProperties() {
List globalProperties = resourceGroupManager.readAllGlobalProperties(
null);
- Assert.assertEquals(globalProperties.size(), 1);
- Assert.assertEquals(updated, globalProperties.get(0));
+ assertEquals(1, globalProperties.size());
+ assertEquals(globalProperties.get(0), updated);
try { // make sure that the name is cpu_quota_period
GlobalPropertiesDetail invalidGlobalProperty = new GlobalPropertiesDetail();
@@ -281,11 +299,13 @@ public void testUpdateGlobalProperties() {
invalidGlobalProperty.setValue("1h");
resourceGroupManager.updateGlobalProperty(invalidGlobalProperty, null);
} catch (Exception ex) {
- Assert.assertTrue(ex.getCause() instanceof org.h2.jdbc.JdbcSQLException);
- Assert.assertTrue(ex.getCause().getMessage().startsWith("Check constraint violation:"));
+ assertTrue(ex.getCause() instanceof org.h2.jdbc.JdbcSQLException);
+ assertTrue(ex.getCause().getMessage().startsWith("Check constraint violation:"));
}
}
+ @Test
+ @Order(12)
public void testCreateExactMatchSourceSelectors() {
ExactSelectorsDetail exactSelectorDetail = new ExactSelectorsDetail();
@@ -298,30 +318,31 @@ public void testCreateExactMatchSourceSelectors() {
ExactSelectorsDetail newExactMatchSourceSelector =
resourceGroupManager.createExactMatchSourceSelector(exactSelectorDetail);
- Assert.assertEquals(newExactMatchSourceSelector, exactSelectorDetail);
+ assertEquals(exactSelectorDetail, newExactMatchSourceSelector);
}
- @Test(dependsOnMethods = {"testCreateExactMatchSourceSelectors"})
+ @Test
+ @Order(13)
public void testReadExactMatchSourceSelectors() {
List exactSelectorsDetails =
resourceGroupManager.readExactMatchSourceSelector();
- Assert.assertEquals(exactSelectorsDetails.size(), 1);
- Assert.assertEquals(exactSelectorsDetails.get(0).getResourceGroupId(), "0");
- Assert.assertEquals(exactSelectorsDetails.get(0).getSource(), "@test@test_pipeline");
- Assert.assertEquals(exactSelectorsDetails.get(0).getEnvironment(), "test");
- Assert.assertEquals(exactSelectorsDetails.get(0).getQueryType(), "query_type");
+ assertEquals(1, exactSelectorsDetails.size());
+ assertEquals("0", exactSelectorsDetails.get(0).getResourceGroupId());
+ assertEquals("@test@test_pipeline", exactSelectorsDetails.get(0).getSource());
+ assertEquals("test", exactSelectorsDetails.get(0).getEnvironment());
+ assertEquals("query_type", exactSelectorsDetails.get(0).getQueryType());
ExactSelectorsDetail exactSelector =
resourceGroupManager.getExactMatchSourceSelector(exactSelectorsDetails.get(0));
- Assert.assertEquals(exactSelector.getResourceGroupId(), "0");
- Assert.assertEquals(exactSelector.getSource(), "@test@test_pipeline");
- Assert.assertEquals(exactSelector.getEnvironment(), "test");
- Assert.assertEquals(exactSelector.getQueryType(), "query_type");
+ assertEquals("0", exactSelector.getResourceGroupId());
+ assertEquals("@test@test_pipeline", exactSelector.getSource());
+ assertEquals("test", exactSelector.getEnvironment());
+ assertEquals("query_type", exactSelector.getQueryType());
}
- @AfterClass(alwaysRun = true)
+ @AfterAll
public void cleanUp() {
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestRoutingGroupSelector.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestRoutingGroupSelector.java
index f225405f4..939fd97d0 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestRoutingGroupSelector.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestRoutingGroupSelector.java
@@ -1,61 +1,67 @@
package io.trino.gateway.ha.router;
import static io.trino.gateway.ha.router.RoutingGroupSelector.ROUTING_GROUP_HEADER;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.File;
import java.io.FileWriter;
+import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
-
-import org.testng.Assert;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-@Test
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+@TestInstance(Lifecycle.PER_CLASS)
public class TestRoutingGroupSelector {
public static final String TRINO_SOURCE_HEADER = "X-Trino-Source";
public static final String TRINO_CLIENT_TAGS_HEADER = "X-Trino-Client-Tags";
+ @Test
public void testByRoutingGroupHeader() {
HttpServletRequest mockRequest = mock(HttpServletRequest.class);
// If the header is present the routing group is the value of that header.
when(mockRequest.getHeader(ROUTING_GROUP_HEADER)).thenReturn("batch_backend");
- Assert.assertEquals(
- RoutingGroupSelector.byRoutingGroupHeader().findRoutingGroup(mockRequest), "batch_backend");
+ assertEquals("batch_backend",
+ RoutingGroupSelector.byRoutingGroupHeader().findRoutingGroup(mockRequest));
// If the header is not present just return null.
when(mockRequest.getHeader(ROUTING_GROUP_HEADER)).thenReturn(null);
- Assert.assertNull(RoutingGroupSelector.byRoutingGroupHeader().findRoutingGroup(mockRequest));
+ assertNull(RoutingGroupSelector.byRoutingGroupHeader().findRoutingGroup(mockRequest));
}
- @DataProvider(name = "routingRuleConfigFiles")
- public Object[][] provideData() {
- String rulesDir = "src/test/resources/rules/";
- return new Object[][]{
- {rulesDir + "routing_rules_atomic.yml"},
- {rulesDir + "routing_rules_composite.yml"},
- {rulesDir + "routing_rules_priorities.yml"},
- {rulesDir + "routing_rules_if_statements.yml"}
- };
+ static Stream provideRoutingRuleConfigFiles() {
+ String rulesDir = "src/test/resources/rules/";
+ return Stream.of(
+ rulesDir + "routing_rules_atomic.yml",
+ rulesDir + "routing_rules_composite.yml",
+ rulesDir + "routing_rules_priorities.yml",
+ rulesDir + "routing_rules_if_statements.yml"
+ );
}
- @Test(dataProvider = "routingRuleConfigFiles")
- public void testByRoutingRulesEngine(String rulesConfigPath) {
+ @ParameterizedTest
+ @MethodSource("provideRoutingRuleConfigFiles")
+ void testByRoutingRulesEngine(String rulesConfigPath) {
RoutingGroupSelector routingGroupSelector =
RoutingGroupSelector.byRoutingRulesEngine(rulesConfigPath);
HttpServletRequest mockRequest = mock(HttpServletRequest.class);
when(mockRequest.getHeader(TRINO_SOURCE_HEADER)).thenReturn("airflow");
- Assert.assertEquals(
- routingGroupSelector.findRoutingGroup(mockRequest), "etl");
+ assertEquals("etl",
+ routingGroupSelector.findRoutingGroup(mockRequest));
}
- @Test(dataProvider = "routingRuleConfigFiles")
- public void testByRoutingRulesEngineSpecialLabel(String rulesConfigPath) {
+ @ParameterizedTest
+ @MethodSource("provideRoutingRuleConfigFiles")
+ void testByRoutingRulesEngineSpecialLabel(String rulesConfigPath) {
RoutingGroupSelector routingGroupSelector =
RoutingGroupSelector.byRoutingRulesEngine(rulesConfigPath);
@@ -64,12 +70,13 @@ public void testByRoutingRulesEngineSpecialLabel(String rulesConfigPath) {
when(mockRequest.getHeader(TRINO_SOURCE_HEADER)).thenReturn("airflow");
when(mockRequest.getHeader(TRINO_CLIENT_TAGS_HEADER)).thenReturn(
"email=test@example.com,label=special");
- Assert.assertEquals(
- routingGroupSelector.findRoutingGroup(mockRequest), "etl-special");
+ assertEquals("etl-special",
+ routingGroupSelector.findRoutingGroup(mockRequest));
}
- @Test(dataProvider = "routingRuleConfigFiles")
- public void testByRoutingRulesEngineNoMatch(String rulesConfigPath) {
+ @ParameterizedTest
+ @MethodSource("provideRoutingRuleConfigFiles")
+ void testByRoutingRulesEngineNoMatch(String rulesConfigPath) {
RoutingGroupSelector routingGroupSelector =
RoutingGroupSelector.byRoutingRulesEngine(rulesConfigPath);
@@ -78,12 +85,11 @@ public void testByRoutingRulesEngineNoMatch(String rulesConfigPath) {
// should return no match
when(mockRequest.getHeader(TRINO_CLIENT_TAGS_HEADER)).thenReturn(
"email=test@example.com,label=special");
- Assert.assertEquals(
- routingGroupSelector.findRoutingGroup(mockRequest), null);
+ assertNull(routingGroupSelector.findRoutingGroup(mockRequest));
}
//Todo: The functionality of reading the file before every request needs to be smarter
- @Test(enabled = false)
+ @Disabled
public void testByRoutingRulesEngineFileChange() throws Exception {
File file = File.createTempFile("routing_rules", ".yml");
@@ -103,8 +109,8 @@ public void testByRoutingRulesEngineFileChange() throws Exception {
HttpServletRequest mockRequest = mock(HttpServletRequest.class);
when(mockRequest.getHeader(TRINO_SOURCE_HEADER)).thenReturn("airflow");
- Assert.assertEquals(
- routingGroupSelector.findRoutingGroup(mockRequest), "etl");
+ assertEquals("etl",
+ routingGroupSelector.findRoutingGroup(mockRequest));
fw = new FileWriter(file);
fw.write(
@@ -117,8 +123,8 @@ public void testByRoutingRulesEngineFileChange() throws Exception {
fw.close();
when(mockRequest.getHeader(TRINO_SOURCE_HEADER)).thenReturn("airflow");
- Assert.assertEquals(
- routingGroupSelector.findRoutingGroup(mockRequest), "etl2");
+ assertEquals("etl2",
+ routingGroupSelector.findRoutingGroup(mockRequest));
file.deleteOnExit();
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestSpecificDbResourceGroupsManager.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestSpecificDbResourceGroupsManager.java
index 73b347306..c81bd1fe6 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestSpecificDbResourceGroupsManager.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestSpecificDbResourceGroupsManager.java
@@ -1,6 +1,9 @@
package io.trino.gateway.ha.router;
import static io.trino.gateway.ha.router.ResourceGroupsManager.ResourceGroupsDetail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import io.trino.gateway.ha.HaGatewayTestUtils;
import io.trino.gateway.ha.config.DataStoreConfiguration;
@@ -9,16 +12,17 @@
import java.util.List;
import lombok.extern.slf4j.Slf4j;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
@Slf4j
-@Test
+@TestInstance(Lifecycle.PER_CLASS)
public class TestSpecificDbResourceGroupsManager extends TestResourceGroupsManager {
private String specificDb;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
@Override
public void setUp() {
specificDb = "h2db-" + System.currentTimeMillis();
@@ -48,19 +52,23 @@ private void createResourceGroup() {
specificDb);
}
- @Test(expectedExceptions = Exception.class)
+ @Test
public void testReadSpecificDbResourceGroupCauseException() {
- List resourceGroups = resourceGroupManager.readAllResourceGroups("abcd");
+ assertThrows(Exception.class, () -> {
+ List resourceGroups = resourceGroupManager.readAllResourceGroups("abcd");
+ });
}
+ @Test
public void testReadSpecificDbResourceGroup() {
this.createResourceGroup();
List resourceGroups = resourceGroupManager
.readAllResourceGroups(specificDb);
- Assert.assertNotNull(resourceGroups);
+ assertNotNull(resourceGroups);
resourceGroupManager.deleteResourceGroup(1,specificDb);
}
+ @Test
public void testReadSpecificDbSelector() {
this.createResourceGroup();
ResourceGroupsManager.SelectorsDetail selector = new ResourceGroupsManager.SelectorsDetail();
@@ -75,7 +83,7 @@ public void testReadSpecificDbSelector() {
ResourceGroupsManager.SelectorsDetail newSelector = resourceGroupManager
.createSelector(selector, specificDb);
- Assert.assertEquals(newSelector, selector);
+ assertEquals(selector, newSelector);
resourceGroupManager
.deleteSelector(selector, specificDb);
resourceGroupManager.deleteResourceGroup(1,specificDb);
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTcpChecks.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTcpChecks.java
index a32d764ae..12f79605f 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTcpChecks.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTcpChecks.java
@@ -1,5 +1,10 @@
package io.trino.gateway.ha.router;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -11,10 +16,10 @@
import java.net.UnknownHostException;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
-import org.testng.Assert;
-import org.testng.annotations.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
-@Test
+@TestInstance(PER_CLASS)
public class TestTcpChecks {
public static final String TRINO_SOURCE_HEADER = "X-Trino-Source";
public static final String TRINO_CLIENT_TAGS_HEADER = "X-Trino-Client-Tags";
@@ -35,7 +40,7 @@ public void testTcpRuleCheck() throws
RoutingGroupSelector routingGroupSelector =
RoutingGroupSelector.byRoutingRulesEngine(rulesFile);
- Assert.assertEquals(routingGroupSelector.findRoutingGroup(mockRequest), "cli");
+ assertEquals("cli", routingGroupSelector.findRoutingGroup(mockRequest));
}
@Test
@@ -47,15 +52,15 @@ public void testConnectionCheckerSucess() throws
ConnectionChecker checker = new ConnectionChecker();
ConnectionCheck check = spy(checker.getChecker("abc", 1111, checkInterval, 1, 0));
doReturn(mock(Socket.class)).when(check).makeSocket("abc", 1111);
- Assert.assertTrue(check.tcpCheck() == ConnectionCheck.TCP_CHECK_SUCCESS);
+ assertEquals(ConnectionCheck.TCP_CHECK_SUCCESS, check.tcpCheck());
// If our inteval to check the request is 1000ms then connection check is needed
TimeUnit.SECONDS.sleep(2);
- Assert.assertTrue(check.isCheckNeeded());
+ assertTrue(check.isCheckNeeded());
// If the inerval to check 1000 ms then we won't need a check
TimeUnit.MILLISECONDS.sleep(100);
- Assert.assertFalse(check.isCheckNeeded());
+ assertFalse(check.isCheckNeeded());
}
@Test
@@ -81,26 +86,26 @@ public void testConnectionCheckerFailures() throws
for (int i = 0; i < failcount; ++i) {
// wait for checkinterval, fail till failcount is reached to disable the check
TimeUnit.MILLISECONDS.sleep(1100);
- Assert.assertTrue(check.tcpCheck() != ConnectionCheck.TCP_CHECK_SUCCESS);
+ assertNotEquals(ConnectionCheck.TCP_CHECK_SUCCESS, check.tcpCheck());
}
// Make the server available and check if the failure contines for disableDuration
doReturn(mock(Socket.class)).when(check).makeSocket(host, port);
TimeUnit.SECONDS.sleep(6);
- Assert.assertTrue(check.tcpCheck() != ConnectionCheck.TCP_CHECK_SUCCESS);
+ assertNotEquals(ConnectionCheck.TCP_CHECK_SUCCESS, check.tcpCheck());
TimeUnit.SECONDS.sleep(6);
- Assert.assertTrue(check.tcpCheck() == ConnectionCheck.TCP_CHECK_SUCCESS);
+ assertEquals(ConnectionCheck.TCP_CHECK_SUCCESS, check.tcpCheck());
// We maintain a map of the checkers, so verify that we got the same check back, as before
Object checkObj = checker.getChecker(host, port, checkInterval,
failcount, disableDuration);
- Assert.assertTrue(checkObj == checker.getChecker(host, port, checkInterval,
+ assertEquals(checkObj, checker.getChecker(host, port, checkInterval,
failcount, disableDuration));
- Assert.assertFalse(checkObj == checker.getChecker(host, port, checkInterval + 10,
+ assertEquals(checkObj, checker.getChecker(host, port, checkInterval + 10,
failcount, disableDuration));
- Assert.assertFalse(checkObj == checker.getChecker(host, port, checkInterval,
+ assertEquals(checkObj, checker.getChecker(host, port, checkInterval,
failcount + 1, disableDuration));
- Assert.assertFalse(checkObj == checker.getChecker(host, port, checkInterval,
+ assertEquals(checkObj, checker.getChecker(host, port, checkInterval,
failcount, disableDuration + 10));
}
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTrinoQueueLengthRoutingTable.java b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTrinoQueueLengthRoutingTable.java
index cd6047b04..826046536 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTrinoQueueLengthRoutingTable.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/router/TestTrinoQueueLengthRoutingTable.java
@@ -2,6 +2,7 @@
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import io.trino.gateway.ha.HaGatewayTestUtils;
import io.trino.gateway.ha.config.DataStoreConfiguration;
@@ -17,11 +18,12 @@
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-@Test
+@TestInstance(Lifecycle.PER_CLASS)
public class TestTrinoQueueLengthRoutingTable {
static final int[] QUERY_VOLUMES = {15, 50, 100, 200};
static final int NUM_BACKENDS = 5;
@@ -36,7 +38,7 @@ public class TestTrinoQueueLengthRoutingTable {
Map> clusterQueueMap;
Map> clusterRunningMap;
- @BeforeClass(alwaysRun = true)
+ @BeforeAll
public void setUp() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempH2DbDir = new File(baseDir, "h2db-" + System.currentTimeMillis());
@@ -196,14 +198,13 @@ public void testRoutingWithEvenWeightDistribution() {
// + " Distribution: " + routingDistribution.toString());
if (numBk > 1) {
if (routingDistribution.containsKey(mockRoutingGroup + (numBk - 1))) {
- assert routingDistribution.get(mockRoutingGroup + (numBk - 1))
- <= Math.ceil(numRequests / numBk);
+ assertTrue(routingDistribution.get(mockRoutingGroup + (numBk - 1))
+ <= Math.ceil(numRequests / numBk));
} else {
- assert routingDistribution.values().stream().mapToInt(Integer::intValue).sum()
- == numRequests;
+ assertEquals(numRequests, routingDistribution.values().stream().mapToInt(Integer::intValue).sum());
}
} else {
- assert routingDistribution.get(mockRoutingGroup + '0') == numRequests;
+ assertEquals(Integer.valueOf(numRequests), routingDistribution.get(mockRoutingGroup + '0'));
}
}
}
@@ -227,11 +228,10 @@ public void testRoutingWithSkewedWeightDistribution() {
// + routingTable.getInternalWeightedRoutingTable(mockRoutingGroup).toString()
// + " Distribution: " + routingDistribution.toString());
if (numBk > 2 && routingDistribution.containsKey(mockRoutingGroup + (numBk - 1))) {
- assert routingDistribution.get(mockRoutingGroup + (numBk - 1))
- <= Math.ceil(numRequests / numBk);
+ assertTrue(routingDistribution.get(mockRoutingGroup + (numBk - 1))
+ <= Math.ceil(numRequests / numBk));
} else {
- assert routingDistribution.values().stream().mapToInt(Integer::intValue).sum()
- == numRequests;
+ assertEquals(numRequests, routingDistribution.values().stream().mapToInt(Integer::intValue).sum());
}
}
}
@@ -246,16 +246,14 @@ public void testRoutingWithUserQueuedLength() {
// Validate always routed to cluster with lowest user queue
registerBackEndsWithUserQueue(mockRoutingGroup, numBackends, Arrays.asList(1, 2));
for (int i = 0; i < queryVolume; i++) {
- assertEquals(routingTable.getEligibleBackEnd(mockRoutingGroup, mockUser),
- mockRoutingGroup + "0");
+ assertEquals(mockRoutingGroup + "0", routingTable.getEligibleBackEnd(mockRoutingGroup, mockUser));
}
// Case 2: Not all user queue counts Present.
// Validate always routed to cluster with zero queue length i.e. the missing cluster.
registerBackEndsWithUserQueue(mockRoutingGroup, numBackends, Arrays.asList(1));
for (int i = 0; i < queryVolume; i++) {
- assertEquals(routingTable.getEligibleBackEnd(mockRoutingGroup, mockUser),
- mockRoutingGroup + "1");
+ assertEquals(mockRoutingGroup + "1", routingTable.getEligibleBackEnd(mockRoutingGroup, mockUser));
}
// Case 3: All user queue counts Present but equal
@@ -271,7 +269,7 @@ public void testRoutingWithUserQueuedLength() {
double expectedUpperBound = (queryVolume / numBackends) * (1 + variance);
for (Integer c : counts.values()) {
- assert c >= expectedLowerBound && c <= expectedUpperBound;
+ assertTrue(c >= expectedLowerBound && c <= expectedUpperBound);
}
// Case 4: NO user queue lengths present
@@ -283,7 +281,7 @@ public void testRoutingWithUserQueuedLength() {
counts.put(cluster, counts.getOrDefault(cluster, 0) + 1);
}
for (Integer c : counts.values()) {
- assert c >= expectedLowerBound && c <= expectedUpperBound;
+ assertTrue(c >= expectedLowerBound && c <= expectedUpperBound);
}
// Case 5: Null or empty users
@@ -295,10 +293,8 @@ public void testRoutingWithUserQueuedLength() {
counts.put(cluster, counts.getOrDefault(cluster, 0) + 1);
}
for (Integer c : counts.values()) {
- assert c >= expectedLowerBound && c <= expectedUpperBound;
+ assertTrue(c >= expectedLowerBound && c <= expectedUpperBound);
}
-
-
}
@Test
@@ -321,9 +317,9 @@ public void testRoutingWithEqualWeightDistribution() {
if (numBk > 1) {
// With equal weights, the algorithm randomly chooses from the list. Check that the
// distribution spans atleast half of the routing group.
- assert routingDistribution.size() >= clusterQueueMap.get(mockRoutingGroup).size() / 2;
+ assertTrue(routingDistribution.size() >= clusterQueueMap.get(mockRoutingGroup).size() / 2);
} else {
- assert routingDistribution.get(mockRoutingGroup + '0') == numRequests;
+ assertEquals(Integer.valueOf(numRequests), routingDistribution.get(mockRoutingGroup + '0'));
}
}
}
@@ -350,11 +346,10 @@ public void testRoutingWithEqualQueueSkewedRunningDistribution() {
+ " Distribution: " + routingDistribution.toString());
*/
if (numBk > 2 && routingDistribution.containsKey(mockRoutingGroup + (numBk - 1))) {
- assert routingDistribution.get(mockRoutingGroup + (numBk - 1))
- <= Math.ceil(numRequests / numBk);
+ assertTrue(routingDistribution.get(mockRoutingGroup + (numBk - 1))
+ <= Math.ceil(numRequests / numBk));
} else {
- assert routingDistribution.values().stream().mapToInt(Integer::intValue).sum()
- == numRequests;
+ assertEquals(numRequests, routingDistribution.values().stream().mapToInt(Integer::intValue).sum());
}
}
}
@@ -378,14 +373,13 @@ public void testRoutingWithMultipleGroups() {
//+ " Distribution: " + routingDistribution.toString());
if (numBk > 1) {
if (routingDistribution.containsKey(grp + (numBk - 1))) {
- assert routingDistribution.get(grp + (numBk - 1))
- <= Math.ceil(numRequests / numBk);
+ assertTrue(routingDistribution.get(grp + (numBk - 1))
+ <= Math.ceil(numRequests / numBk));
} else {
- assert routingDistribution.values().stream().mapToInt(Integer::intValue).sum()
- == numRequests;
+ assertEquals(numRequests, routingDistribution.values().stream().mapToInt(Integer::intValue).sum());
}
} else {
- assert routingDistribution.get(grp + '0') == numRequests;
+ assertEquals(Integer.valueOf(numRequests), routingDistribution.get(grp + '0'));
}
}
}
@@ -426,7 +420,6 @@ public void testActiveClusterMonitorUpdateAndRouting() throws InterruptedExcepti
resetBackends(mockRoutingGroup, numBk, 0, 0);
scheduler.scheduleAtFixedRate(activeClusterMonitor, 0, 1, SECONDS);
-
for (int batch = 0; batch < numBatches; batch++) {
routingDistribution = routeQueries(mockRoutingGroup, numRequests);
if (batch == 0) {
@@ -443,8 +436,8 @@ public void testActiveClusterMonitorUpdateAndRouting() throws InterruptedExcepti
System.out.println("Total Requests :" + numBatches * numRequests
+ " distribution :" + totalDistribution.toString());
- assert totalDistribution.get(mockRoutingGroup + (numBk - 1))
- <= (numBatches * numRequests / numBk);
+ assertTrue(totalDistribution.get(mockRoutingGroup + (numBk - 1))
+ <= (numBatches * numRequests / numBk));
scheduler.shutdown();
}
diff --git a/gateway-ha/src/test/java/io/trino/gateway/ha/security/TestLbAuthenticator.java b/gateway-ha/src/test/java/io/trino/gateway/ha/security/TestLbAuthenticator.java
index e928b6bfa..87a534f6f 100644
--- a/gateway-ha/src/test/java/io/trino/gateway/ha/security/TestLbAuthenticator.java
+++ b/gateway-ha/src/test/java/io/trino/gateway/ha/security/TestLbAuthenticator.java
@@ -2,6 +2,9 @@
import static io.trino.gateway.ha.security.SessionCookie.OAUTH_ID_TOKEN;
import static io.trino.gateway.ha.security.SessionCookie.logOut;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.Claim;
@@ -17,11 +20,13 @@
import javax.ws.rs.core.Response;
import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
import org.mockito.Mockito;
-import org.testng.Assert;
-import org.testng.annotations.Test;
@Slf4j
+@TestInstance(Lifecycle.PER_CLASS)
public class TestLbAuthenticator {
private static final String USER = "username";
@@ -60,13 +65,12 @@ public void testAuthenticatorGetsPrincipal() throws Exception {
LbAuthenticator lbAuth = new LbAuthenticator(authentication, authorization);
- Assert.assertTrue(lbAuth.authenticate(ID_TOKEN).isPresent());
- Assert.assertEquals(lbAuth.authenticate(ID_TOKEN).get(), principal);
+ assertTrue(lbAuth.authenticate(ID_TOKEN).isPresent());
+ assertEquals(principal, lbAuth.authenticate(ID_TOKEN).get());
}
@Test
public void testAuthenticatorMissingClaim() throws Exception {
-
Claim claim = Mockito.mock(Claim.class);
AuthorizationManager authorization = Mockito.mock(AuthorizationManager.class);
LbOAuthManager authentication = Mockito.mock(LbOAuthManager.class);
@@ -79,7 +83,7 @@ public void testAuthenticatorMissingClaim() throws Exception {
LbAuthenticator lbAuth = new LbAuthenticator(authentication, authorization);
- Assert.assertFalse(lbAuth.authenticate(ID_TOKEN).isPresent());
+ assertFalse(lbAuth.authenticate(ID_TOKEN).isPresent());
}
@Test
@@ -92,11 +96,11 @@ public void testPresetUsers() throws Exception {
};
LbFormAuthManager authentication = new LbFormAuthManager(null, presetUsers);
- Assert.assertTrue(authentication
+ assertTrue(authentication
.authenticate(new BasicCredentials("user1", "pass1")));
- Assert.assertFalse(authentication
+ assertFalse(authentication
.authenticate(new BasicCredentials("user2", "pass1")));
- Assert.assertFalse(authentication
+ assertFalse(authentication
.authenticate(new BasicCredentials("not-in-map-user", "pass1")));
}
@@ -104,14 +108,14 @@ public void testPresetUsers() throws Exception {
@Test
public void testNoLdapNoPresetUsers() throws Exception {
LbFormAuthManager authentication = new LbFormAuthManager(null, null);
- Assert.assertFalse(authentication
+ assertFalse(authentication
.authenticate(new BasicCredentials("user1", "pass1")));
}
@Test
public void testWrongLdapConfig() throws Exception {
LbFormAuthManager authentication = new LbFormAuthManager(null, null);
- Assert.assertFalse(authentication
+ assertFalse(authentication
.authenticate(new BasicCredentials("user1", "pass1")));
}
@@ -120,7 +124,7 @@ public void testLogout() throws Exception {
Response response = logOut();
NewCookie cookie = response.getCookies().get(OAUTH_ID_TOKEN);
log.info("value {}", cookie.getValue());
- Assert.assertTrue(cookie.getValue().equals("logout"));
+ assertTrue(cookie.getValue().equals("logout"));
}
@Test
@@ -143,7 +147,7 @@ public void testLoginForm() throws Exception {
Response response = lbFormAuthManager.processLoginForm("user1", "pass1");
NewCookie cookie = response.getCookies().get(OAUTH_ID_TOKEN);
String value = cookie.getValue();
- Assert.assertTrue(value != null && value.length() > 0);
+ assertTrue(value != null && value.length() > 0);
log.info(cookie.getValue());
JWT.decode(value);
}
diff --git a/pom.xml b/pom.xml
index cff13a652..fb30494a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -160,11 +160,6 @@
surefire-junit-platform
${dep.plugin.surefire.version}
-
- org.apache.maven.surefire
- surefire-testng
- ${dep.plugin.surefire.version}
-
org.junit.jupiter
junit-jupiter-engine
diff --git a/proxyserver/pom.xml b/proxyserver/pom.xml
index 5c9b73eb3..ee96aae24 100644
--- a/proxyserver/pom.xml
+++ b/proxyserver/pom.xml
@@ -70,6 +70,18 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${dep.plugin.surefire.version}
+
+
+ org.apache.maven.surefire
+ surefire-testng
+ ${dep.plugin.surefire.version}
+
+
+