testcontainers-python icon indicating copy to clipboard operation
testcontainers-python copied to clipboard

Feature: add MosquittoContainer (mqtt)

Open f18m opened this issue 1 year ago • 4 comments

What are you trying to do?

I'm writing integration tests for a Python project (https://github.com/f18m/ha-alarm-raspy2mqtt) that publishes messages to an MQTT broker. I would like to use testcontainers to create the integration tests and noticed that there is no specialization available for MQTT and for its most-used broker which is Mosquitto. So I'd like to propose the addition of a MosquittoContainer class to testcontainers-python.

Why should it be done this way?

There are a number of helpers that could be provided out of the box to ease integration testing of MQTT applications.

I can provide a PR to add my own MosquittoContainer implementation if there is interest by the project maintainers...

f18m avatar May 10 '24 12:05 f18m

sure, i cant promise it will be a priority but we've been merging a bunch of these. the hivemq seems to be king in the enterprise world with this so id say if we do merge a mqtt one it has to be this one:

https://java.testcontainers.org/modules/hivemq/

alexanderankin avatar May 11 '24 03:05 alexanderankin

hi @alexanderankin , thanks for the reply. Actually I've been developing the specialization of DockerContainer for the Mosquitto broker (https://mosquitto.org/) which is a very popular choice at least in home automation environment... I could contribute that if there's interest...

f18m avatar May 11 '24 13:05 f18m

hm, i suppose we could have a module with multiple classes in it

alexanderankin avatar May 14 '24 07:05 alexanderankin

hi @alexanderankin , I opened PR #599 to propose my implementation of a MosquittoContainer class. Several usage examples can be found at https://github.com/f18m/rpi2home-assistant/blob/main/tests/test_integration.py

f18m avatar Jun 05 '24 23:06 f18m

Closing this ticket as MosquittoContainer has been integrated as part of PR #599 since version 4.6.0

f18m avatar Jan 21 '25 17:01 f18m