1
0
mirror of https://github.com/hybridgroup/gobot.git synced 2025-05-01 13:48:57 +08:00
hybridgroup.gobot/platforms/mqtt/mqtt_adaptor_test.go

67 lines
1.5 KiB
Go
Raw Normal View History

2014-11-03 18:30:56 -08:00
package mqtt
import (
"errors"
2014-11-04 08:33:05 -08:00
"fmt"
"strings"
2014-11-03 18:56:33 -08:00
"testing"
multierror "github.com/hashicorp/go-multierror"
"gobot.io/x/gobot"
"gobot.io/x/gobot/gobottest"
2014-11-03 18:30:56 -08:00
)
var _ gobot.Adaptor = (*Adaptor)(nil)
func initTestMqttAdaptor() *Adaptor {
return NewAdaptor("localhost:1883", "client")
2014-11-03 18:30:56 -08:00
}
func TestMqttAdaptorName(t *testing.T) {
a := initTestMqttAdaptor()
gobottest.Assert(t, strings.HasPrefix(a.Name(), "MQTT"), true)
a.SetName("NewName")
gobottest.Assert(t, a.Name(), "NewName")
}
2014-11-03 18:30:56 -08:00
func TestMqttAdaptorConnect(t *testing.T) {
2014-11-03 18:56:33 -08:00
a := initTestMqttAdaptor()
var expected error
expected = multierror.Append(expected, errors.New("Network Error : Unknown protocol"))
gobottest.Assert(t, a.Connect(), expected)
2014-11-03 18:30:56 -08:00
}
func TestMqttAdaptorFinalize(t *testing.T) {
2014-11-03 18:56:33 -08:00
a := initTestMqttAdaptor()
gobottest.Assert(t, a.Finalize(), nil)
2014-11-03 18:30:56 -08:00
}
2014-11-04 08:33:05 -08:00
func TestMqttAdaptorCannotPublishUnlessConnected(t *testing.T) {
a := initTestMqttAdaptor()
data := []byte("o")
gobottest.Assert(t, a.Publish("test", data), false)
2014-11-04 08:33:05 -08:00
}
func TestMqttAdaptorPublishWhenConnected(t *testing.T) {
a := initTestMqttAdaptor()
a.Connect()
data := []byte("o")
gobottest.Assert(t, a.Publish("test", data), true)
2014-11-04 08:33:05 -08:00
}
func TestMqttAdaptorCannotOnUnlessConnected(t *testing.T) {
a := initTestMqttAdaptor()
gobottest.Assert(t, a.On("hola", func(topic string, data []byte) {
2014-11-04 08:33:05 -08:00
fmt.Println("hola")
}), false)
}
func TestMqttAdaptorOnWhenConnected(t *testing.T) {
a := initTestMqttAdaptor()
a.Connect()
gobottest.Assert(t, a.On("hola", func(topic string, data []byte) {
2014-11-04 08:33:05 -08:00
fmt.Println("hola")
}), true)
}