testcontainers/testcontainers-python

Feature: add MosquittoContainer (mqtt)

f18m opened this issue · 4 comments

f18m commented

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...

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/

f18m commented

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...

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

f18m commented

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