docs/modules/pulsar.md
Testcontainers can be used to automatically create Apache Pulsar containers without external services.
It's based on the official Apache Pulsar docker image, it is recommended to read the official guide.
Create a PulsarContainer to use it in your tests:
Create a Pulsar container inside_block:constructorWithVersion
<!--/codeinclude-->Then you can retrieve the broker and the admin url:
<!--codeinclude-->Get broker and admin urls inside_block:coordinates
<!--/codeinclude-->If you need to set Pulsar configuration variables you can use the native APIs and set each variable with PULSAR_PREFIX_ as prefix.
For example, if you want to enable brokerDeduplicationEnabled:
Set configuration variables inside_block:constructorWithEnv
<!--/codeinclude-->If you need to test Pulsar IO framework you can enable the Pulsar Functions Worker:
<!--codeinclude-->Create a Pulsar container with functions worker inside_block:constructorWithFunctionsWorker
<!--/codeinclude-->If you need to test Pulsar Transactions you can enable the transactions feature:
<!--codeinclude-->Create a Pulsar container with transactions inside_block:constructorWithTransactions
<!--/codeinclude-->Add the following dependency to your pom.xml/build.gradle file:
=== "Gradle"
groovy testImplementation "org.testcontainers:testcontainers-pulsar:{{latest_version}}"
=== "Maven"
xml <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers-pulsar</artifactId> <version>{{latest_version}}</version> <scope>test</scope> </dependency>