Hello, Basically every time I write an application or library for Pulsar I fall into the need of starting a simple embedded Pulsar server in order to run the tests.
Currently I have two approaches: - testcontainers - craft my own "PulsarService" classes Testcontainers is okay, especially for real integration tests, and if you want to test against different versions of Pulsar "server". But for other kind of "unit tests" (even if the need to start the Server, let me call them 'unit tests') it is better to have something to start the Pulsar cluster. In Apache ZooKeeper project we have ZooKeeperServerEmbedded [1], or you can use TestingServer from Apache Curator. Pravega project already provides a LocalPravegaEmulator service. I totally miss this feature in Pulsar. What about providing such API for our users ? try (PulsarService service = PulsarService.start(configuration)) { String url = service.getBrokerServiceUrl(); .. } I will be happy to write up a PIP and also to provide an implementation (I already have 3-4 similar classes in my projects) Please note that 'mocking' the Pulsar Service is not enough, especially for an user that tries to use Pulsar and it is not a Pulsar expert, because you cannot mock properly all of the features, and also it is difficult to keep the mock in pair with Pulsar evolutions. Enrico [1] https://github.com/apache/zookeeper/blob/12b4e6821997534e1ff58e2e29b9df0beab817d3/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.java#L41