diff --git a/modules/pulsar/build.gradle b/modules/pulsar/build.gradle index c4419a523d3..9cd1ef66474 100644 --- a/modules/pulsar/build.gradle +++ b/modules/pulsar/build.gradle @@ -3,7 +3,7 @@ description = "Testcontainers :: Pulsar" dependencies { api project(':testcontainers') - testImplementation group: 'org.apache.pulsar', name: 'pulsar-client', version: '2.11.0' + testImplementation group: 'org.apache.pulsar', name: 'pulsar-client', version: '3.0.0' testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.24.2' - testImplementation group: 'org.apache.pulsar', name: 'pulsar-client-admin', version: '2.11.0' + testImplementation group: 'org.apache.pulsar', name: 'pulsar-client-admin', version: '3.0.0' } diff --git a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java index 950149e3226..a47aa04447a 100644 --- a/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java +++ b/modules/pulsar/src/main/java/org/testcontainers/containers/PulsarContainer.java @@ -30,7 +30,7 @@ public class PulsarContainer extends GenericContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("apachepulsar/pulsar"); @Deprecated - private static final String DEFAULT_TAG = "2.10.0"; + private static final String DEFAULT_TAG = "3.0.0"; private final WaitAllStrategy waitAllStrategy = new WaitAllStrategy(); diff --git a/modules/pulsar/src/test/java/org/testcontainers/containers/PulsarContainerTest.java b/modules/pulsar/src/test/java/org/testcontainers/containers/PulsarContainerTest.java index b054c30d0ac..29321afca82 100644 --- a/modules/pulsar/src/test/java/org/testcontainers/containers/PulsarContainerTest.java +++ b/modules/pulsar/src/test/java/org/testcontainers/containers/PulsarContainerTest.java @@ -1,5 +1,6 @@ package org.testcontainers.containers; +import org.apache.pulsar.client.admin.ListTopicsOptions; import org.apache.pulsar.client.admin.PulsarAdmin; import org.apache.pulsar.client.admin.PulsarAdminException; import org.apache.pulsar.client.api.Consumer; @@ -13,6 +14,7 @@ import org.testcontainers.utility.DockerImageName; import java.time.Duration; +import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -23,14 +25,14 @@ public class PulsarContainerTest { public static final String TEST_TOPIC = "test_topic"; - private static final DockerImageName PULSAR_IMAGE = DockerImageName.parse("apachepulsar/pulsar:2.10.0"); + private static final DockerImageName PULSAR_IMAGE = DockerImageName.parse("apachepulsar/pulsar:3.0.0"); @Test public void testUsage() throws Exception { try ( // do not use PULSAR_IMAGE to make the doc looks easier // constructorWithVersion { - PulsarContainer pulsar = new PulsarContainer(DockerImageName.parse("apachepulsar/pulsar:2.10.0")); + PulsarContainer pulsar = new PulsarContainer(DockerImageName.parse("apachepulsar/pulsar:3.0.0")); // } ) { pulsar.start(); @@ -103,31 +105,26 @@ public void testTransactions() throws Exception { pulsar.start(); try (PulsarAdmin pulsarAdmin = PulsarAdmin.builder().serviceHttpUrl(pulsar.getHttpServiceUrl()).build()) { - assertThat( - pulsarAdmin - .topics() - .getList("pulsar/system") - .contains("persistent://pulsar/system/transaction_coordinator_assign-partition-0") - ) - .isTrue(); + assertTransactionsTopicCreated(pulsarAdmin); } testTransactionFunctionality(pulsar.getPulsarBrokerUrl()); } } + private void assertTransactionsTopicCreated(PulsarAdmin pulsarAdmin) throws PulsarAdminException { + final List topics = pulsarAdmin + .topics() + .getPartitionedTopicList("pulsar/system", ListTopicsOptions.builder().includeSystemTopic(true).build()); + assertThat(topics).contains("persistent://pulsar/system/transaction_coordinator_assign"); + } + @Test public void testTransactionsAndFunctionsWorker() throws Exception { try (PulsarContainer pulsar = new PulsarContainer(PULSAR_IMAGE).withTransactions().withFunctionsWorker()) { pulsar.start(); try (PulsarAdmin pulsarAdmin = PulsarAdmin.builder().serviceHttpUrl(pulsar.getHttpServiceUrl()).build();) { - assertThat( - pulsarAdmin - .topics() - .getList("pulsar/system") - .contains("persistent://pulsar/system/transaction_coordinator_assign-partition-0") - ) - .isTrue(); + assertTransactionsTopicCreated(pulsarAdmin); assertThat(pulsarAdmin.functions().getFunctions("public", "default")).hasSize(0); } testTransactionFunctionality(pulsar.getPulsarBrokerUrl());