diff --git a/mqtt.go b/mqtt.go index 0bbe014..98183e1 100644 --- a/mqtt.go +++ b/mqtt.go @@ -23,6 +23,7 @@ type MQTTClient interface { Start() Stop() Publish(message MQTTMessage) + PublishSynced(message MQTTMessage) Subscribe(callback MQTTMessageHandler, topics ...string) Unsubscribe(topics ...string) } diff --git a/testutils/fake_mqtt.go b/testutils/fake_mqtt.go index 16e9bcd..7c30807 100644 --- a/testutils/fake_mqtt.go +++ b/testutils/fake_mqtt.go @@ -296,6 +296,11 @@ func (client *FakeMQTTClient) Publish(message wbgong.MQTTMessage) { client.broker.Publish(client.id, message) } +func (client *FakeMQTTClient) PublishSynced(message wbgong.MQTTMessage) { + client.ensureStarted() + client.broker.Publish(client.id, message) +} + func (client *FakeMQTTClient) Subscribe(callback wbgong.MQTTMessageHandler, topics ...string) { client.Lock() defer client.Unlock()