28 lines
671 B
Go
28 lines
671 B
Go
|
package subscription
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"badat.dev/maeqtt/v2/mqtt/packets"
|
||
|
)
|
||
|
|
||
|
func TestSubscribe(t *testing.T) {
|
||
|
tree := newSubscriptionTreeNode()
|
||
|
topic, _ := packets.ParseTopic("a/b/c")
|
||
|
channel := make(SubscriptionChannel)
|
||
|
topicFilter := packets.TopicFilter{
|
||
|
Topic: topic,
|
||
|
MaxQoS: 1,
|
||
|
}
|
||
|
tree.Subscribe(topicFilter, channel)
|
||
|
subs, lock := tree.GetSubscriptions("a/b/c")
|
||
|
defer lock.Unlock()
|
||
|
|
||
|
if len(subs) != 1 {
|
||
|
t.Errorf("Error storing subscriptions, expected to len(subs) to be 1, got: %v \n", len(subs))
|
||
|
}
|
||
|
if subs[0].MaxQoS != topicFilter.MaxQoS || subs[0].SubscriptionChannel != channel {
|
||
|
t.Error("Error with data stored in a subscription")
|
||
|
}
|
||
|
}
|