diff --git a/.typos.toml b/.typos.toml
new file mode 100644
index 0000000..1de3c18
--- /dev/null
+++ b/.typos.toml
@@ -0,0 +1,3 @@
+[default.extend-words]
+# abbr
+"vertx" = "vertx"
diff --git a/pom.xml b/pom.xml
index 1d23fab..89b396d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,6 +51,10 @@
1.7.0
4.8.6.2
2.43.0
+ 5.3.1
+ 4.1.112.Final
+ 4.12.0
+ 4.5.10
@@ -62,6 +66,13 @@
pom
import
+
+ io.netty
+ netty-transport-native-epoll
+ linux-x86_64
+ ${netty.version}
+ test
+
@@ -92,6 +103,12 @@
${junit.version}
test
+
+ org.junit.jupiter
+ junit-jupiter-params
+ ${junit.version}
+ test
+
org.apache.logging.log4j
log4j-slf4j-impl
diff --git a/pulsar-admin-api/pom.xml b/pulsar-admin-api/pom.xml
index d5f4c42..7976e56 100644
--- a/pulsar-admin-api/pom.xml
+++ b/pulsar-admin-api/pom.xml
@@ -10,5 +10,11 @@
pulsar-admin-api
-
+
+
+ io.github.openfacade
+ http-facade
+ ${http-facade.version}
+
+
diff --git a/pulsar-admin-api/src/main/java/io/github/protocol/pulsar/admin/api/Configuration.java b/pulsar-admin-api/src/main/java/io/github/protocol/pulsar/admin/api/Configuration.java
index 56fb18d..c35e592 100644
--- a/pulsar-admin-api/src/main/java/io/github/protocol/pulsar/admin/api/Configuration.java
+++ b/pulsar-admin-api/src/main/java/io/github/protocol/pulsar/admin/api/Configuration.java
@@ -1,5 +1,7 @@
package io.github.protocol.pulsar.admin.api;
+import io.github.openfacade.http.HttpClientEngine;
+
public class Configuration {
public String host = "localhost";
@@ -9,6 +11,8 @@ public class Configuration {
public TlsConfig tlsConfig;
+ public HttpClientEngine engine;
+
public Configuration() {
}
@@ -31,4 +35,9 @@ public Configuration tlsConfig(TlsConfig tlsConfig) {
this.tlsConfig = tlsConfig;
return this;
}
+
+ public Configuration engine(HttpClientEngine engine) {
+ this.engine = engine;
+ return this;
+ }
}
diff --git a/pulsar-admin/pom.xml b/pulsar-admin/pom.xml
index e78ad0f..7901006 100644
--- a/pulsar-admin/pom.xml
+++ b/pulsar-admin/pom.xml
@@ -22,6 +22,23 @@
http-facade
${http-facade.version}
+
+ org.apache.httpcomponents.client5
+ httpclient5
+ ${apache-http-client.version}
+ test
+
+
+ com.squareup.okhttp3
+ okhttp
+ ${okhttp.version}
+ test
+
+
+ io.vertx
+ vertx-web-client
+ ${vertx.version}
+
diff --git a/pulsar-admin/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java b/pulsar-admin/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
index 8883300..458a22b 100644
--- a/pulsar-admin/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
+++ b/pulsar-admin/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
@@ -29,7 +29,7 @@ public class InnerHttpClient {
public InnerHttpClient(Configuration conf) {
HttpClientConfig.Builder clientConfigBuilder = new HttpClientConfig.Builder();
- clientConfigBuilder.engine(HttpClientEngine.Java);
+ clientConfigBuilder.engine(conf.engine == null ? HttpClientEngine.Java : conf.engine);
if (conf.tlsEnabled) {
TlsConfig.Builder tlsConfigBuilder = new TlsConfig.Builder();
io.github.protocol.pulsar.admin.api.TlsConfig tlsConfig = conf.tlsConfig;
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BaseTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BaseTest.java
new file mode 100644
index 0000000..523f2b6
--- /dev/null
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BaseTest.java
@@ -0,0 +1,56 @@
+package io.github.protocol.pulsar.admin.jdk;
+
+import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
+import io.github.openfacade.http.HttpClientEngine;
+import io.github.protocol.pulsar.admin.api.Configuration;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.params.provider.Arguments;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Stream;
+
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public class BaseTest {
+ protected EmbeddedPulsarServer server;
+ protected List pulsarAdmins;
+
+ @BeforeAll
+ public void setup() throws Exception {
+ server = new EmbeddedPulsarServer();
+ server.start();
+ pulsarAdmins = initPulsarAdmins();
+ }
+
+ @AfterAll
+ public void teardown() throws Exception {
+ server.close();
+ }
+
+ protected int getPort() {
+ return server.getWebPort();
+ }
+
+ protected List initPulsarAdmins() {
+ List pulsarAdmins = new ArrayList<>();
+ for (HttpClientEngine engine: HttpClientEngine.values()) {
+ // async and jetty client has dependency conflicts with embedded pulsar core, skip it.
+ if (engine.equals(HttpClientEngine.Async) || engine.equals(HttpClientEngine.Jetty)) {
+ continue;
+ }
+ Configuration conf = new Configuration();
+ conf.host("localhost");
+ conf.port(getPort());
+ conf.engine(engine);
+ PulsarAdminImpl pulsarAdmin = new PulsarAdminImpl(conf);
+ pulsarAdmins.add(pulsarAdmin);
+ }
+ return pulsarAdmins;
+ }
+
+ protected Stream providePulsarAdmins() {
+ return pulsarAdmins.stream().map(pulsarAdmin -> Arguments.arguments(pulsarAdmin));
+ }
+}
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
index c99ca19..2d61f1c 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
@@ -1,32 +1,18 @@
package io.github.protocol.pulsar.admin.jdk;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-public class BrokersTest {
- private static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
- @BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
- }
+public class BrokersTest extends BaseTest{
@Test
public void testHealthCheckV1() throws PulsarAdminException {
- PulsarAdmin pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
+ PulsarAdmin pulsarAdmin = PulsarAdmin.builder().port(getPort()).build();
pulsarAdmin.brokers().healthcheck(TopicVersion.V1);
}
@Test
public void testHealthCheckV2() throws PulsarAdminException {
- PulsarAdmin pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
+ PulsarAdmin pulsarAdmin = PulsarAdmin.builder().port(getPort()).build();
pulsarAdmin.brokers().healthcheck(TopicVersion.V2);
}
}
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
index 5053bc9..f55b7c7 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
@@ -1,31 +1,15 @@
package io.github.protocol.pulsar.admin.jdk;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
-public class ClustersTest {
-
- private static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
- @BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
- }
-
+public class ClustersTest extends BaseTest{
@Test
public void getClustersTest() throws PulsarAdminException {
Assertions.assertEquals(Arrays.asList("standalone"),
- PulsarAdmin.builder().port(SERVER.getWebPort()).build().clusters().getClusters());
+ PulsarAdmin.builder().port(getPort()).build().clusters().getClusters());
}
}
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
index 4904b3a..0cf83cd 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
@@ -1,41 +1,24 @@
package io.github.protocol.pulsar.admin.jdk;
import com.google.common.collect.ImmutableMap;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
import java.util.HashSet;
import java.util.TreeMap;
-public class NamespacesTest {
-
- private static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
+public class NamespacesTest extends BaseTest {
private static final String CLUSTER_STANDALONE = "standalone";
private static final TenantInfo initialTenantInfo = (new TenantInfo.TenantInfoBuilder())
.adminRoles(new HashSet<>(0))
.allowedClusters(new HashSet<>(Arrays.asList(CLUSTER_STANDALONE))).build();
- private static PulsarAdmin pulsarAdmin;
-
- @BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
- }
-
- @Test
- public void namespaceTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespaceTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
@@ -52,8 +35,9 @@ public void namespaceTest() throws PulsarAdminException {
Assertions.assertEquals(Arrays.asList(), pulsarAdmin.namespaces().getTenantNamespaces(tenant));
}
- @Test
- public void namespacesBacklogQuotaTest() throws PulsarAdminException, InterruptedException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespacesBacklogQuotaTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException, InterruptedException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
@@ -86,8 +70,9 @@ public void namespacesBacklogQuotaTest() throws PulsarAdminException, Interrupte
new TreeMap<>(pulsarAdmin.namespaces().getBacklogQuotaMap(tenant, namespace)));
}
- @Test
- public void namespacesClearBacklogTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespacesClearBacklogTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
@@ -97,8 +82,9 @@ public void namespacesClearBacklogTest() throws PulsarAdminException {
tenant, namespace, RandomUtil.randomString(), false);
}
- @Test
- public void namespacesRetentionTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespacesRetentionTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
@@ -113,8 +99,9 @@ public void namespacesRetentionTest() throws PulsarAdminException {
Assertions.assertNull(pulsarAdmin.namespaces().getRetention(tenant, namespace));
}
- @Test
- public void namespacesMessageTTLTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespacesMessageTTLTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
@@ -126,8 +113,9 @@ public void namespacesMessageTTLTest() throws PulsarAdminException {
Assertions.assertNull(pulsarAdmin.namespaces().getNamespaceMessageTTL(tenant, namespace));
}
- @Test
- public void namespacesCompactionThresholdTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void namespacesCompactionThresholdTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenant = RandomUtil.randomString();
String namespace = RandomUtil.randomString();
pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
index 2f691d2..6354b1b 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
@@ -1,41 +1,31 @@
package io.github.protocol.pulsar.admin.jdk;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
import java.util.HashSet;
-public class NonPersistentTopicsTest {
-
- private static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
+public class NonPersistentTopicsTest extends BaseTest{
private static final String CLUSTER_STANDALONE = "standalone";
private static final String tenant = RandomUtil.randomString();
- private static PulsarAdmin pulsarAdmin;
-
@BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
+ public void setup() throws Exception {
+ super.setup();
+ // create one tenant is enough
TenantInfo initialTenantInfo = (new TenantInfo.TenantInfoBuilder())
.adminRoles(new HashSet<>(0))
.allowedClusters(new HashSet<>(Arrays.asList(CLUSTER_STANDALONE))).build();
- pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
+ pulsarAdmins.get(0).tenants().createTenant(tenant, initialTenantInfo);
}
- @Test
- public void partitionedTopicsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void partitionedTopicsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -57,8 +47,9 @@ public void partitionedTopicsTest() throws PulsarAdminException {
pulsarAdmin.nonPersistentTopics().getList(tenant, namespace, null, false));
}
- @Test
- public void getPartitionedStatsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void getPartitionedStatsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -67,8 +58,9 @@ public void getPartitionedStatsTest() throws PulsarAdminException {
topic, false));
}
- @Test
- public void nonPartitionedTopicsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void nonPartitionedTopicsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -82,8 +74,9 @@ public void nonPartitionedTopicsTest() throws PulsarAdminException {
pulsarAdmin.nonPersistentTopics().getList(tenant, namespace, null, false));
}
- @Test
- public void getLastMessageIdTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void getLastMessageIdTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
index 6ab88cb..ac9b06f 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
@@ -1,44 +1,34 @@
package io.github.protocol.pulsar.admin.jdk;
import com.google.common.collect.ImmutableMap;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.awaitility.Awaitility;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
import java.util.HashSet;
import java.util.TreeMap;
-public class PersistentTopicsTest {
-
- private static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
+public class PersistentTopicsTest extends BaseTest {
private static final String CLUSTER_STANDALONE = "standalone";
private static final String tenant = RandomUtil.randomString();
- private static PulsarAdmin pulsarAdmin;
-
@BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
+ public void setup() throws Exception {
+ super.setup();
+ // create one tenant is enough
TenantInfo initialTenantInfo = (new TenantInfo.TenantInfoBuilder())
.adminRoles(new HashSet<>(0))
.allowedClusters(new HashSet<>(Arrays.asList(CLUSTER_STANDALONE))).build();
- pulsarAdmin.tenants().createTenant(tenant, initialTenantInfo);
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
+ pulsarAdmins.get(0).tenants().createTenant(tenant, initialTenantInfo);
}
- @Test
- public void partitionedTopicsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void partitionedTopicsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -70,8 +60,9 @@ public void partitionedTopicsTest() throws PulsarAdminException {
}
- @Test
- public void nonPartitionedTopicsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void nonPartitionedTopicsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -85,8 +76,9 @@ public void nonPartitionedTopicsTest() throws PulsarAdminException {
pulsarAdmin.persistentTopics().getList(tenant, namespace, null, false));
}
- @Test
- public void createMissedPartitionsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void createMissedPartitionsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -106,8 +98,9 @@ public void createMissedPartitionsTest() throws PulsarAdminException {
pulsarAdmin.persistentTopics().getList(tenant, namespace, null, false));
}
- @Test
- public void getLastMessageIdTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void getLastMessageIdTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -118,8 +111,9 @@ public void getLastMessageIdTest() throws PulsarAdminException {
Assertions.assertNotNull(pulsarAdmin.persistentTopics().getLastMessageId(tenant, namespace, topic, false));
}
- @Test
- public void backLogQuotaTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void backLogQuotaTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -162,8 +156,9 @@ public void backLogQuotaTest() throws PulsarAdminException {
Assertions.assertNotNull(pulsarAdmin.persistentTopics().getBacklog(tenant, namespace, topic, false));
}
- @Test
- public void retentionTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void retentionTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
@@ -192,8 +187,9 @@ public void retentionTest() throws PulsarAdminException {
false, false, false));
}
- @Test
- public void getPartitionedStatsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void getPartitionedStatsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String namespace = RandomUtil.randomString();
String topic = RandomUtil.randomString();
pulsarAdmin.namespaces().createNamespace(tenant, namespace);
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
index 8f168aa..3497580 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
@@ -1,35 +1,20 @@
package io.github.protocol.pulsar.admin.jdk;
-import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
-import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
import java.util.HashSet;
-public class TenantsTest {
-
- protected static final EmbeddedPulsarServer SERVER = new EmbeddedPulsarServer();
-
+public class TenantsTest extends BaseTest {
protected static final String CLUSTER_STANDALONE = "standalone";
protected static PulsarAdmin pulsarAdmin;
- @BeforeAll
- public static void setup() throws Exception {
- SERVER.start();
- pulsarAdmin = PulsarAdmin.builder().port(SERVER.getWebPort()).build();
- }
-
- @AfterAll
- public static void teardown() throws Exception {
- SERVER.close();
- }
-
- @Test
- public void tenantsTest() throws PulsarAdminException {
+ @ParameterizedTest
+ @MethodSource("providePulsarAdmins")
+ public void tenantsTest(PulsarAdmin pulsarAdmin) throws PulsarAdminException {
String tenantName = RandomUtil.randomString();
TenantInfo initialTenantInfo = (new TenantInfo.TenantInfoBuilder())
.adminRoles(new HashSet<>(0))
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
index bb66cf8..d3fa523 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
@@ -9,10 +9,7 @@
import java.io.File;
-public class TlsClientTest {
-
- private static EmbeddedPulsarServer server;
-
+public class TlsClientTest extends BaseTest {
private static final String CLIENT_KEYSTORE_FILE =
TlsClientTest.class.getClassLoader().getResource("pulsar_client_key.jks").getFile();
private static final String CLIENT_TRUSTSTORE_FILE =
@@ -28,7 +25,7 @@ public class TlsClientTest {
private static final String SERVER_CERT_PASSWORD = "pulsar_server_pwd";
@BeforeAll
- public static void setup() throws Exception {
+ public void setup() throws Exception {
EmbeddedPulsarConfig config = new EmbeddedPulsarConfig();
config.enableTls(true);
config.serverKeyStorePath(new File(SERVER_KEYSTORE_FILE).getAbsolutePath());
@@ -45,7 +42,7 @@ public static void setup() throws Exception {
private PulsarAdmin createPulsarAdmin(TlsConfig tlsConfig) throws PulsarAdminException {
return PulsarAdmin.builder()
- .port(server.getWebPort())
+ .port(getPort())
.tlsEnabled(true)
.tlsConfig(tlsConfig)
.build();
@@ -134,7 +131,7 @@ public void testTlsByVerifyAndHostnameVerification() throws PulsarAdminException
}
@AfterAll
- public static void teardown() throws Exception {
+ public void teardown() throws Exception {
server.close();
}
}
diff --git a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
index bb7c5dc..b4898cd 100644
--- a/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
+++ b/pulsar-admin/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
@@ -10,10 +10,7 @@
import java.io.File;
-public class TlsClientWrongHostTest {
-
- private static EmbeddedPulsarServer server;
-
+public class TlsClientWrongHostTest extends BaseTest{
private static final String CLIENT_KEYSTORE_FILE =
TlsClientWrongHostTest.class.getClassLoader().getResource("pulsar_client_key_wrong_host.jks").getFile();
private static final String CLIENT_TRUSTSTORE_FILE =
@@ -29,7 +26,7 @@ public class TlsClientWrongHostTest {
private static final String SERVER_CERT_PASSWORD = "pulsar_server_pwd";
@BeforeAll
- public static void setup() throws Exception {
+ public void setup() throws Exception {
EmbeddedPulsarConfig config = new EmbeddedPulsarConfig();
config.enableTls(true);
config.serverKeyStorePath(new File(SERVER_KEYSTORE_FILE).getAbsolutePath());
@@ -57,7 +54,7 @@ public void testTlsByVerifyAndNoHostnameVerification() throws PulsarAdminExcepti
null
);
PulsarAdmin pulsarAdmin = PulsarAdmin.builder()
- .port(server.getWebPort())
+ .port(getPort())
.tlsEnabled(true)
.tlsConfig(tlsConfig)
.build();
@@ -65,7 +62,7 @@ public void testTlsByVerifyAndNoHostnameVerification() throws PulsarAdminExcepti
}
@AfterAll
- public static void teardown() throws Exception {
+ public void teardown() throws Exception {
server.close();
}
}