From 655b9c2d50f26e9feb02d7993c3fe72339a117b3 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 22 Feb 2021 15:52:05 +0200 Subject: [PATCH 1/5] Replace Before/AfterSuite with Before/AfterClass --- .../PulsarTokenAuthenticationBaseSuite.java | 25 ++++-------- .../PulsarStandaloneTestSuite2_2.java | 15 +++----- .../PulsarStandaloneTestSuite2_3.java | 16 +++----- .../PulsarStandaloneTestSuite2_4.java | 16 +++----- .../PulsarStandaloneTestSuite2_5.java | 16 +++----- .../cli/ClusterMetadataTearDownTest.java | 38 +++++++++---------- .../suites/PulsarSQLTestSuite.java | 6 --- .../suites/PulsarStandaloneTestSuite.java | 15 +++----- .../integration/suites/PulsarTestSuite.java | 20 +++------- .../suites/PulsarTieredStorageTestSuite.java | 24 ++++-------- .../upgrade/PulsarZKDowngradeTest.java | 12 ++---- 11 files changed, 71 insertions(+), 132 deletions(-) diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/auth/token/PulsarTokenAuthenticationBaseSuite.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/auth/token/PulsarTokenAuthenticationBaseSuite.java index f8be24eb3562f..5bee2e8055bae 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/auth/token/PulsarTokenAuthenticationBaseSuite.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/auth/token/PulsarTokenAuthenticationBaseSuite.java @@ -21,12 +21,12 @@ import static java.util.stream.Collectors.joining; import static org.testng.Assert.assertEquals; import static org.testng.Assert.fail; - import java.util.Collections; import java.util.EnumSet; import java.util.concurrent.TimeUnit; import java.util.stream.Stream; - +import lombok.Cleanup; +import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.client.admin.PulsarAdmin; import org.apache.pulsar.client.api.AuthenticationFactory; import org.apache.pulsar.client.api.Consumer; @@ -35,8 +35,6 @@ import org.apache.pulsar.client.api.PulsarClient; import org.apache.pulsar.client.api.PulsarClientException; import org.apache.pulsar.client.api.Schema; -import org.apache.pulsar.client.impl.ProducerImpl; -import org.apache.pulsar.client.impl.PulsarClientImpl; import org.apache.pulsar.client.impl.auth.AuthenticationToken; import org.apache.pulsar.common.policies.data.AuthAction; import org.apache.pulsar.common.policies.data.TenantInfo; @@ -48,17 +46,13 @@ import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec; import org.apache.pulsar.tests.integration.topologies.PulsarClusterTestBase; import org.testcontainers.containers.Network; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import lombok.Cleanup; -import lombok.extern.slf4j.Slf4j; - @Slf4j -public abstract class PulsarTokenAuthenticationBaseSuite extends PulsarClusterTestBase implements ITest { +public abstract class PulsarTokenAuthenticationBaseSuite extends PulsarClusterTestBase { protected String superUserAuthToken; protected String proxyAuthToken; @@ -76,7 +70,7 @@ public abstract class PulsarTokenAuthenticationBaseSuite extends PulsarClusterTe protected ZKContainer cmdContainer; - @BeforeSuite + @BeforeClass @Override public void setupCluster() throws Exception { // Before starting the cluster, generate the secret key and the token @@ -134,18 +128,13 @@ public void setupCluster() throws Exception { log.info("Cluster {} is setup", spec.clusterName()); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) @Override public void tearDownCluster() { super.tearDownCluster(); cmdContainer.close(); } - @Override - public String getTestName() { - return "token-auth-test-suite"; - } - @Test public void testPublishWithTokenAuth() throws Exception { final String tenant = "token-test-tenant" + randomName(4); diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_2.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_2.java index 7efbcf575d49b..0b2426646365b 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_2.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_2.java @@ -20,24 +20,19 @@ import org.apache.pulsar.tests.integration.containers.PulsarContainer; import org.apache.pulsar.tests.integration.topologies.PulsarStandaloneTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarStandaloneTestSuite2_2 extends PulsarStandaloneTestBase implements ITest { +public class PulsarStandaloneTestSuite2_2 extends PulsarStandaloneTestBase { - @BeforeSuite + @BeforeClass public void setUpCluster() throws Exception { super.startCluster(PulsarContainer.PULSAR_2_2_IMAGE_NAME); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() throws Exception { super.stopCluster(); } - @Override - public String getTestName() { - return "pulsar-standalone-suite"; - } } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_3.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_3.java index 6f62c589286c5..ab75c795daa54 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_3.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_3.java @@ -20,23 +20,19 @@ import org.apache.pulsar.tests.integration.containers.PulsarContainer; import org.apache.pulsar.tests.integration.topologies.PulsarStandaloneTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarStandaloneTestSuite2_3 extends PulsarStandaloneTestBase implements ITest { +public class PulsarStandaloneTestSuite2_3 extends PulsarStandaloneTestBase { - @BeforeSuite + @BeforeClass public void setUpCluster() throws Exception { super.startCluster(PulsarContainer.PULSAR_2_3_IMAGE_NAME); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() throws Exception { super.stopCluster(); } - @Override - public String getTestName() { - return "pulsar-standalone-suite"; - } + } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_4.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_4.java index 3347c373e5f9a..64aaf30755c6e 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_4.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_4.java @@ -20,23 +20,19 @@ import org.apache.pulsar.tests.integration.containers.PulsarContainer; import org.apache.pulsar.tests.integration.topologies.PulsarStandaloneTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarStandaloneTestSuite2_4 extends PulsarStandaloneTestBase implements ITest { +public class PulsarStandaloneTestSuite2_4 extends PulsarStandaloneTestBase { - @BeforeSuite + @BeforeClass public void setUpCluster() throws Exception { super.startCluster(PulsarContainer.PULSAR_2_4_IMAGE_NAME); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() throws Exception { super.stopCluster(); } - @Override - public String getTestName() { - return "pulsar-standalone-suite"; - } + } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_5.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_5.java index 43d9aaca3fc05..8312cfd6d9dc6 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_5.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/PulsarStandaloneTestSuite2_5.java @@ -20,23 +20,19 @@ import org.apache.pulsar.tests.integration.containers.PulsarContainer; import org.apache.pulsar.tests.integration.topologies.PulsarStandaloneTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarStandaloneTestSuite2_5 extends PulsarStandaloneTestBase implements ITest { +public class PulsarStandaloneTestSuite2_5 extends PulsarStandaloneTestBase { - @BeforeSuite + @BeforeClass public void setUpCluster() throws Exception { super.startCluster(PulsarContainer.PULSAR_2_5_IMAGE_NAME); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() throws Exception { super.stopCluster(); } - @Override - public String getTestName() { - return "pulsar-standalone-suite"; - } + } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/ClusterMetadataTearDownTest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/ClusterMetadataTearDownTest.java index 1511123cf482f..6212a0729b341 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/ClusterMetadataTearDownTest.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/ClusterMetadataTearDownTest.java @@ -18,6 +18,20 @@ */ package org.apache.pulsar.tests.integration.cli; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; +import static org.testng.Assert.fail; +import java.io.IOException; +import java.net.URI; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import lombok.extern.slf4j.Slf4j; import org.apache.bookkeeper.client.BKException; import org.apache.bookkeeper.conf.ServerConfiguration; @@ -39,26 +53,10 @@ import org.apache.pulsar.tests.integration.topologies.PulsarCluster; import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec; import org.apache.zookeeper.ZooKeeper; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import java.io.IOException; -import java.net.URI; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; -import static org.testng.Assert.fail; - @Slf4j public class ClusterMetadataTearDownTest { @@ -81,7 +79,7 @@ public class ClusterMetadataTearDownTest { private PulsarClient client; private PulsarAdmin admin; - @BeforeSuite + @BeforeClass public void setupCluster() throws Exception { pulsarCluster.start(); metadataServiceUri = "zk+null://" + pulsarCluster.getZKConnString() + "/ledgers"; @@ -98,7 +96,7 @@ public void setupCluster() throws Exception { admin = PulsarAdmin.builder().serviceHttpUrl(pulsarCluster.getHttpServiceUrl()).build(); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() { try { ledgerManager.close(); diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarSQLTestSuite.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarSQLTestSuite.java index 5863ae6546e89..2efc21aae7c16 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarSQLTestSuite.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarSQLTestSuite.java @@ -25,7 +25,6 @@ import org.apache.pulsar.tests.integration.containers.S3Container; import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec; - @Slf4j public abstract class PulsarSQLTestSuite extends PulsarTestSuite { @@ -34,11 +33,6 @@ public abstract class PulsarSQLTestSuite extends PulsarTestSuite { public final static String BUCKET = "pulsar-integtest"; public final static String ENDPOINT = "http://" + S3Container.NAME + ":9090"; - @Override - public String getTestName() { - return "pulsar-sql-test-suite"; - } - @Override protected PulsarClusterSpec.PulsarClusterSpecBuilder beforeSetupCluster(String clusterName, PulsarClusterSpec.PulsarClusterSpecBuilder specBuilder) { specBuilder.queryLastMessage(true); diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarStandaloneTestSuite.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarStandaloneTestSuite.java index 84efd9a165e0e..0cfcdb10464bc 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarStandaloneTestSuite.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarStandaloneTestSuite.java @@ -20,24 +20,19 @@ import org.apache.pulsar.tests.integration.containers.PulsarContainer; import org.apache.pulsar.tests.integration.topologies.PulsarStandaloneTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarStandaloneTestSuite extends PulsarStandaloneTestBase implements ITest { +public class PulsarStandaloneTestSuite extends PulsarStandaloneTestBase { - @BeforeSuite + @BeforeClass public void setUpCluster() throws Exception { super.startCluster(PulsarContainer.DEFAULT_IMAGE_NAME); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) public void tearDownCluster() throws Exception { super.stopCluster(); } - @Override - public String getTestName() { - return "pulsar-standalone-suite"; - } } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTestSuite.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTestSuite.java index 589f09c08cd34..5402d45eadbb3 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTestSuite.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTestSuite.java @@ -18,37 +18,29 @@ */ package org.apache.pulsar.tests.integration.suites; -import org.apache.pulsar.tests.integration.topologies.PulsarClusterTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; - import java.util.function.Predicate; +import org.apache.pulsar.tests.integration.topologies.PulsarClusterTestBase; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; -public class PulsarTestSuite extends PulsarClusterTestBase implements ITest { +public class PulsarTestSuite extends PulsarClusterTestBase { - @BeforeSuite + @BeforeClass @Override public void setupCluster() throws Exception { super.setupCluster(); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) @Override public void tearDownCluster() { super.tearDownCluster(); } - @Override - public String getTestName() { - return "pulsar-test-suite"; - } - public static void retryStrategically(Predicate predicate, int retryCount, long intSleepTimeInMillis) throws Exception { retryStrategically(predicate, retryCount, intSleepTimeInMillis, false); } - public static void retryStrategically(Predicate predicate, int retryCount, long intSleepTimeInMillis, boolean throwException) throws Exception { diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTieredStorageTestSuite.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTieredStorageTestSuite.java index f68b37801ab89..1c61164426270 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTieredStorageTestSuite.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/suites/PulsarTieredStorageTestSuite.java @@ -18,25 +18,22 @@ */ package org.apache.pulsar.tests.integration.suites; +import static java.util.stream.Collectors.joining; +import java.util.Map; +import java.util.stream.Stream; import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.tests.integration.containers.BrokerContainer; import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec; import org.apache.pulsar.tests.integration.topologies.PulsarClusterTestBase; -import org.testng.ITest; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; - -import java.util.Map; -import java.util.stream.Stream; - -import static java.util.stream.Collectors.joining; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; @Slf4j -public abstract class PulsarTieredStorageTestSuite extends PulsarClusterTestBase implements ITest { +public abstract class PulsarTieredStorageTestSuite extends PulsarClusterTestBase { protected static final int ENTRIES_PER_LEDGER = 1024; - @BeforeSuite + @BeforeClass @Override public void setupCluster() throws Exception { final String clusterName = Stream.of(this.getClass().getSimpleName(), randomName(5)) @@ -52,17 +49,12 @@ public void setupCluster() throws Exception { setupCluster(spec); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) @Override public void tearDownCluster() { super.tearDownCluster(); } - @Override - public String getTestName() { - return "tiered-storage-test-suite"; - } - protected abstract Map getEnv(); @Override diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/upgrade/PulsarZKDowngradeTest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/upgrade/PulsarZKDowngradeTest.java index 03788b0b10de2..7526f3b85b6d6 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/upgrade/PulsarZKDowngradeTest.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/upgrade/PulsarZKDowngradeTest.java @@ -20,14 +20,10 @@ import static java.util.stream.Collectors.joining; import static org.testng.Assert.assertEquals; - import com.google.common.collect.ImmutableMap; - import java.util.stream.Stream; - import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; - import org.apache.pulsar.client.api.Consumer; import org.apache.pulsar.client.api.Message; import org.apache.pulsar.client.api.Producer; @@ -36,8 +32,8 @@ import org.apache.pulsar.tests.integration.topologies.PulsarCluster; import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec; import org.apache.pulsar.tests.integration.topologies.PulsarClusterTestBase; -import org.testng.annotations.AfterSuite; -import org.testng.annotations.BeforeSuite; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; /** @@ -48,7 +44,7 @@ public class PulsarZKDowngradeTest extends PulsarClusterTestBase { protected static final int ENTRIES_PER_LEDGER = 1024; - @BeforeSuite + @BeforeClass @Override public void setupCluster() throws Exception { final String clusterName = Stream.of(this.getClass().getSimpleName(), randomName(5)) @@ -74,7 +70,7 @@ ImmutableMap. builder() log.info("Cluster {} is setup", spec.clusterName()); } - @AfterSuite(alwaysRun = true) + @AfterClass(alwaysRun = true) @Override public void tearDownCluster() { super.tearDownCluster(); From 64d7ee26da9c3c74efd4f1c81528bba0102077dd Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 22 Feb 2021 15:56:52 +0200 Subject: [PATCH 2/5] Remove the unnecessary usage of static fields --- .../functions/PulsarFunctionsTest.java | 44 +++++++++---------- .../functions/PulsarStateTest.java | 34 +++++++------- .../integration/presto/TestPulsarSQLBase.java | 2 +- .../topologies/PulsarClusterTestBase.java | 8 ++-- .../topologies/PulsarStandaloneTestBase.java | 8 ++-- 5 files changed, 48 insertions(+), 48 deletions(-) diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java index 59c72f693a1b3..0845bf1e9070a 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java @@ -1661,7 +1661,7 @@ private void testExclamationFunction(Runtime runtime, } - private static void submitExclamationFunction(Runtime runtime, + private void submitExclamationFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -1680,7 +1680,7 @@ private static void submitExclamationFunction(Runtime runtime, schema); } - private static void submitFunction(Runtime runtime, + private void submitFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -1708,7 +1708,7 @@ private static void submitFunction(Runtime runtime, submitFunction(runtime, inputTopicName, outputTopicName, functionName, file, functionClass, inputTopicSchema); } - private static void submitFunction(Runtime runtime, + private void submitFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -1718,7 +1718,7 @@ private static void submitFunction(Runtime runtime, submitFunction(runtime, inputTopicName, outputTopicName, functionName, functionFile, functionClass, inputTopicSchema, null); } - private static void submitFunction(Runtime runtime, + private void submitFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -1767,7 +1767,7 @@ private static void submitFunction(Runtime runtime, ensureSubscriptionCreated(inputTopicName, String.format("public/default/%s", functionName), inputTopicSchema); } - private static void updateFunctionParallelism(String functionName, int parallelism) throws Exception { + private void updateFunctionParallelism(String functionName, int parallelism) throws Exception { CommandGenerator generator = new CommandGenerator(); generator.setFunctionName(functionName); @@ -1783,7 +1783,7 @@ private static void updateFunctionParallelism(String functionName, int paralleli assertTrue(result.getStdout().contains("\"Updated successfully\"")); } - private static void submitFunction(Runtime runtime, + private void submitFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -1826,7 +1826,7 @@ private static void submitFunction(Runtime runtime, assertTrue(result.getStdout().contains("\"Created successfully\"")); } - private static void ensureSubscriptionCreated(String inputTopicName, + private void ensureSubscriptionCreated(String inputTopicName, String subscriptionName, Schema inputTopicSchema) throws Exception { @@ -1843,7 +1843,7 @@ private static void ensureSubscriptionCreated(String inputTopicName, } } - private static void getFunctionInfoSuccess(String functionName) throws Exception { + private void getFunctionInfoSuccess(String functionName) throws Exception { ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -1857,7 +1857,7 @@ private static void getFunctionInfoSuccess(String functionName) throws Exception assertTrue(result.getStdout().contains("\"name\": \"" + functionName + "\"")); } - private static void getFunctionStatsEmpty(String functionName) throws Exception { + private void getFunctionStatsEmpty(String functionName) throws Exception { ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -1897,7 +1897,7 @@ private static void getFunctionStatsEmpty(String functionName) throws Exception assertEquals(functionStats.instances.get(0).getMetrics().oneMin.getAvgProcessLatency(), null); } - private static void getFunctionStats(String functionName, int numMessages) throws Exception { + private void getFunctionStats(String functionName, int numMessages) throws Exception { ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -1937,7 +1937,7 @@ private static void getFunctionStats(String functionName, int numMessages) throw assertTrue(functionStats.instances.get(0).getMetrics().oneMin.getAvgProcessLatency() > 0); } - private static void getFunctionInfoNotFound(String functionName) throws Exception { + private void getFunctionInfoNotFound(String functionName) throws Exception { retryStrategically(aVoid -> { try { pulsarCluster.getAnyWorker().execCmd( @@ -1959,7 +1959,7 @@ private static void getFunctionInfoNotFound(String functionName) throws Exceptio }, 5, 100, true); } - private static void checkSubscriptionsCleanup(String topic) throws Exception { + private void checkSubscriptionsCleanup(String topic) throws Exception { try { ContainerExecResult result = pulsarCluster.getAnyBroker().execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -1974,7 +1974,7 @@ private static void checkSubscriptionsCleanup(String topic) throws Exception { } } - private static void checkPublisherCleanup(String topic) throws Exception { + private void checkPublisherCleanup(String topic) throws Exception { try { ContainerExecResult result = pulsarCluster.getAnyBroker().execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -1989,11 +1989,11 @@ private static void checkPublisherCleanup(String topic) throws Exception { } } - private static void getFunctionStatus(String functionName, int numMessages, boolean checkRestarts) throws Exception { + private void getFunctionStatus(String functionName, int numMessages, boolean checkRestarts) throws Exception { getFunctionStatus(functionName, numMessages, checkRestarts, 1); } - private static void getFunctionStatus(String functionName, int numMessages, boolean checkRestarts, int parallelism) + private void getFunctionStatus(String functionName, int numMessages, boolean checkRestarts, int parallelism) throws Exception { ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -2037,7 +2037,7 @@ private static void getFunctionStatus(String functionName, int numMessages, bool assertEquals(totalMessagesSuccessfullyProcessed, numMessages); } - private static void publishAndConsumeMessages(String inputTopic, + private void publishAndConsumeMessages(String inputTopic, String outputTopic, int numMessages) throws Exception { @Cleanup PulsarClient client = PulsarClient.builder() @@ -2089,7 +2089,7 @@ private static void publishAndConsumeMessages(String inputTopic, } } - private static void publishAndConsumeMessagesBytes(String inputTopic, + private void publishAndConsumeMessagesBytes(String inputTopic, String outputTopic, int numMessages) throws Exception { @Cleanup PulsarClient client = PulsarClient.builder() @@ -2142,7 +2142,7 @@ private static void publishAndConsumeMessagesBytes(String inputTopic, } } - private static void deleteFunction(String functionName) throws Exception { + private void deleteFunction(String functionName) throws Exception { ContainerExecResult result = pulsarCluster.getAnyWorker().execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -2196,7 +2196,7 @@ public void testAutoSchemaFunction() throws Exception { getFunctionInfoNotFound(functionName); } - private static void publishAndConsumeAvroMessages(String inputTopic, + private void publishAndConsumeAvroMessages(String inputTopic, String outputTopic, int numMessages) throws Exception { @@ -2660,7 +2660,7 @@ private void testLoggingFunction(Runtime runtime) throws Exception { super.setupCluster(); super.setupFunctionWorkers(); } - + Schema schema; if (Runtime.JAVA == runtime) { schema = Schema.STRING; @@ -2709,7 +2709,7 @@ private void testLoggingFunction(Runtime runtime) throws Exception { } - private static void submitJavaLoggingFunction(String inputTopicName, + private void submitJavaLoggingFunction(String inputTopicName, String logTopicName, String functionName, Schema schema) throws Exception { @@ -2737,7 +2737,7 @@ private static void submitJavaLoggingFunction(String inputTopicName, ensureSubscriptionCreated(inputTopicName, String.format("public/default/%s", functionName), schema); } - private static void publishAndConsumeMessages(String inputTopic, + private void publishAndConsumeMessages(String inputTopic, String outputTopic, int numMessages, String messagePostfix) throws Exception { diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java index b34895a963586..a01bc2702d91a 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarStateTest.java @@ -226,7 +226,7 @@ private void submitSinkConnector(String sinkName, result.getStdout()); } - private static void submitExclamationFunction(Runtime runtime, + private void submitExclamationFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName) throws Exception { @@ -247,7 +247,7 @@ protected static String getExclamationClass(Runtime runtime) { } } - private static void submitFunction(Runtime runtime, + private void submitFunction(Runtime runtime, String inputTopicName, String outputTopicName, String functionName, @@ -276,7 +276,7 @@ private static void submitFunction(Runtime runtime, ensureSubscriptionCreated(inputTopicName, String.format("public/default/%s", functionName), inputTopicSchema); } - private static void ensureSubscriptionCreated(String inputTopicName, + private void ensureSubscriptionCreated(String inputTopicName, String subscriptionName, Schema inputTopicSchema) throws Exception { @@ -293,7 +293,7 @@ private static void ensureSubscriptionCreated(String inputTopicName, } } - private static void getSinkInfoSuccess(String sinkName) throws Exception { + private void getSinkInfoSuccess(String sinkName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sinks", @@ -305,7 +305,7 @@ private static void getSinkInfoSuccess(String sinkName) throws Exception { assertTrue(result.getStdout().contains("\"name\": \"" + sinkName + "\"")); } - private static void getSourceInfoSuccess(String sourceName) throws Exception { + private void getSourceInfoSuccess(String sourceName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sources", @@ -317,7 +317,7 @@ private static void getSourceInfoSuccess(String sourceName) throws Exception { assertTrue(result.getStdout().contains("\"name\": \"" + sourceName + "\"")); } - private static void getFunctionInfoSuccess(String functionName) throws Exception { + private void getFunctionInfoSuccess(String functionName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -329,7 +329,7 @@ private static void getFunctionInfoSuccess(String functionName) throws Exception assertTrue(result.getStdout().contains("\"name\": \"" + functionName + "\"")); } - private static void getFunctionInfoNotFound(String functionName) throws Exception { + private void getFunctionInfoNotFound(String functionName) throws Exception { try { container.execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -344,7 +344,7 @@ private static void getFunctionInfoNotFound(String functionName) throws Exceptio } } - private static void getSinkStatus(String sinkName) throws Exception { + private void getSinkStatus(String sinkName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sinks", @@ -356,7 +356,7 @@ private static void getSinkStatus(String sinkName) throws Exception { assertTrue(result.getStdout().contains("\"running\" : true")); } - private static void getSourceStatus(String sourceName) throws Exception { + private void getSourceStatus(String sourceName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sources", @@ -368,7 +368,7 @@ private static void getSourceStatus(String sourceName) throws Exception { assertTrue(result.getStdout().contains("\"running\" : true")); } - private static void getFunctionStatus(String functionName, int numMessages) throws Exception { + private void getFunctionStatus(String functionName, int numMessages) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -381,7 +381,7 @@ private static void getFunctionStatus(String functionName, int numMessages) thro assertTrue(result.getStdout().contains("\"numSuccessfullyProcessed\" : " + numMessages)); } - private static void queryState(String functionName, String key, int amount) + private void queryState(String functionName, String key, int amount) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -395,7 +395,7 @@ private static void queryState(String functionName, String key, int amount) assertTrue(result.getStdout().contains("\"numberValue\": " + amount)); } - private static void publishAndConsumeMessages(String inputTopic, + private void publishAndConsumeMessages(String inputTopic, String outputTopic, int numMessages) throws Exception { @Cleanup PulsarClient client = PulsarClient.builder() @@ -420,7 +420,7 @@ private static void publishAndConsumeMessages(String inputTopic, } } - private static void deleteFunction(String functionName) throws Exception { + private void deleteFunction(String functionName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "functions", @@ -433,7 +433,7 @@ private static void deleteFunction(String functionName) throws Exception { assertTrue(result.getStderr().isEmpty()); } - private static void deleteSource(String sourceName) throws Exception { + private void deleteSource(String sourceName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sources", @@ -446,7 +446,7 @@ private static void deleteSource(String sourceName) throws Exception { assertTrue(result.getStderr().isEmpty()); } - private static void deleteSink(String sinkName) throws Exception { + private void deleteSink(String sinkName) throws Exception { ContainerExecResult result = container.execCmd( PulsarCluster.ADMIN_SCRIPT, "sinks", @@ -459,7 +459,7 @@ private static void deleteSink(String sinkName) throws Exception { assertTrue(result.getStderr().isEmpty()); } - private static void getSourceInfoNotFound(String sourceName) throws Exception { + private void getSourceInfoNotFound(String sourceName) throws Exception { try { container.execCmd( PulsarCluster.ADMIN_SCRIPT, @@ -474,7 +474,7 @@ private static void getSourceInfoNotFound(String sourceName) throws Exception { } } - private static void getSinkInfoNotFound(String sinkName) throws Exception { + private void getSinkInfoNotFound(String sinkName) throws Exception { try { container.execCmd( PulsarCluster.ADMIN_SCRIPT, diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/presto/TestPulsarSQLBase.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/presto/TestPulsarSQLBase.java index b4caa9f2779f9..c0200856c3058 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/presto/TestPulsarSQLBase.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/presto/TestPulsarSQLBase.java @@ -216,7 +216,7 @@ private void validateData(TopicName topicName, int messageNum) throws Exception assertThat(returnedTimestamps.size()).isEqualTo(0); } - public static ContainerExecResult execQuery(final String query) throws Exception { + public ContainerExecResult execQuery(final String query) throws Exception { ContainerExecResult containerExecResult; containerExecResult = pulsarCluster.getPrestoWorkerContainer() diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarClusterTestBase.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarClusterTestBase.java index 883cd6f8778df..e322c706f4948 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarClusterTestBase.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarClusterTestBase.java @@ -29,7 +29,7 @@ public abstract class PulsarClusterTestBase extends PulsarTestBase { @DataProvider(name = "ServiceUrlAndTopics") - public static Object[][] serviceUrlAndTopics() { + public Object[][] serviceUrlAndTopics() { return new Object[][] { // plain text, persistent topic { @@ -45,7 +45,7 @@ public static Object[][] serviceUrlAndTopics() { } @DataProvider(name = "ServiceUrls") - public static Object[][] serviceUrls() { + public Object[][] serviceUrls() { return new Object[][] { // plain text { @@ -55,7 +55,7 @@ public static Object[][] serviceUrls() { } @DataProvider(name = "ServiceAndAdminUrls") - public static Object[][] serviceAndAdminUrls() { + public Object[][] serviceAndAdminUrls() { return new Object[][] { // plain text { @@ -65,7 +65,7 @@ public static Object[][] serviceAndAdminUrls() { }; } - protected static PulsarCluster pulsarCluster; + protected PulsarCluster pulsarCluster; public void setupCluster() throws Exception { this.setupCluster(""); diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java index 03132f53db5cd..f34b8ef12a9f3 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java @@ -38,7 +38,7 @@ public abstract class PulsarStandaloneTestBase extends PulsarTestBase { @DataProvider(name = "StandaloneServiceUrlAndTopics") - public static Object[][] serviceUrlAndTopics() { + public Object[][] serviceUrlAndTopics() { return new Object[][] { // plain text, persistent topic { @@ -54,7 +54,7 @@ public static Object[][] serviceUrlAndTopics() { } @DataProvider(name = "StandaloneServiceUrlAndHttpUrl") - public static Object[][] serviceUrlAndHttpUrl() { + public Object[][] serviceUrlAndHttpUrl() { return new Object[][] { { container.getPlainTextServiceUrl(), @@ -63,8 +63,8 @@ public static Object[][] serviceUrlAndHttpUrl() { }; } - protected static Network network; - protected static StandaloneContainer container; + protected Network network; + protected StandaloneContainer container; protected void startCluster(final String pulsarImageName) throws Exception { network = Network.newNetwork(); From 18c4da35ec57cee5cfcba27225fd31a9c0db3cfb Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 22 Feb 2021 16:04:02 +0200 Subject: [PATCH 3/5] Improve PulsarStandaloneTestBase.stopCluster --- .../topologies/PulsarStandaloneTestBase.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java index f34b8ef12a9f3..c919001144c2d 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/topologies/PulsarStandaloneTestBase.java @@ -86,8 +86,14 @@ protected void startCluster(final String pulsarImageName) throws Exception { } protected void stopCluster() throws Exception { - container.stop(); - network.close(); + if (container != null) { + container.stop(); + container = null; + } + if (network != null) { + network.close(); + network = null; + } } } From 166f708c1e51b1bc75afca3e0fc65fc3e95d999c Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Tue, 23 Feb 2021 13:21:38 +0200 Subject: [PATCH 4/5] Enable info logging for org.testcontainers in tests --- buildtools/src/main/resources/log4j2.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/buildtools/src/main/resources/log4j2.xml b/buildtools/src/main/resources/log4j2.xml index 2fdc2d05ae32e..8fc1608fc5dc8 100644 --- a/buildtools/src/main/resources/log4j2.xml +++ b/buildtools/src/main/resources/log4j2.xml @@ -33,5 +33,6 @@ + From 235966798b0d77b5d4a198c0743d52e29e2d689a Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Tue, 23 Feb 2021 16:39:34 +0200 Subject: [PATCH 5/5] Remove test from backwards compatibility tests for Pulsar 2.2.0 and 2.3.0 - fails with exception on server side: "org.apache.pulsar.shaded.com.google.protobuf.v241.UninitializedMessageException: Message was missing required fields. (Lite runtime could not determine which fields were missing)." - test wasn't executed before because of usage of BeforeSuite and static fields for initializing the test container --- .../integration/backwardscompatibility/SmokeTest2_2.java | 5 ----- .../integration/backwardscompatibility/SmokeTest2_3.java | 5 ----- 2 files changed, 10 deletions(-) diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_2.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_2.java index 20e9926d3d046..fd139551be727 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_2.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_2.java @@ -32,9 +32,4 @@ public void testPublishAndConsume(String serviceUrl, boolean isPersistent) throw public void testBatchMessagePublishAndConsume(String serviceUrl, boolean isPersistent) throws Exception { super.testBatchMessagePublishAndConsume(serviceUrl, isPersistent); } - - @Test(dataProvider = "StandaloneServiceUrlAndTopics") - public void testBatchIndexAckDisabled(String serviceUrl, boolean isPersistent) throws Exception { - super.testBatchIndexAckDisabled(serviceUrl); - } } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_3.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_3.java index e1b37e3c6edc9..248e24a500b3b 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_3.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/backwardscompatibility/SmokeTest2_3.java @@ -32,9 +32,4 @@ public void testPublishAndConsume(String serviceUrl, boolean isPersistent) throw public void testBatchMessagePublishAndConsume(String serviceUrl, boolean isPersistent) throws Exception { super.testBatchMessagePublishAndConsume(serviceUrl, isPersistent); } - - @Test(dataProvider = "StandaloneServiceUrlAndTopics") - public void testBatchIndexAckDisabled(String serviceUrl, boolean isPersistent) throws Exception { - super.testBatchIndexAckDisabled(serviceUrl); - } }