added tests for pubusub save function

This commit is contained in:
Radu Ioan Fericean
2015-07-02 10:15:42 +03:00
parent 54fa1476d9
commit 285936f02b
2 changed files with 73 additions and 1 deletions

View File

@@ -23,6 +23,23 @@ func TestSubscribe(t *testing.T) {
}
}
func TestSubscribeSave(t *testing.T) {
ps := NewPubSub(accountingStorage, false)
var r string
if err := ps.Subscribe(SubscribeInfo{
EventName: "test",
Transport: utils.META_HTTP_POST,
Address: "url",
LifeSpan: time.Second,
}, &r); err != nil {
t.Error("Error subscribing: ", err)
}
subs, err := accountingStorage.GetPubSubSubscribers()
if err != nil || len(subs["test"]) != 1 {
t.Error("Error saving subscribers: ", err, subs)
}
}
func TestSubscribeNoTransport(t *testing.T) {
ps := NewPubSub(accountingStorage, false)
var r string
@@ -75,6 +92,30 @@ func TestUnsubscribe(t *testing.T) {
}
}
func TestUnsubscribeSave(t *testing.T) {
ps := NewPubSub(accountingStorage, false)
var r string
if err := ps.Subscribe(SubscribeInfo{
EventName: "test",
Transport: utils.META_HTTP_POST,
Address: "url",
LifeSpan: time.Second,
}, &r); err != nil {
t.Error("Error subscribing: ", err)
}
if err := ps.Unsubscribe(SubscribeInfo{
EventName: "test",
Transport: utils.META_HTTP_POST,
Address: "url",
}, &r); err != nil {
t.Error("Error unsubscribing: ", err)
}
subs, err := accountingStorage.GetPubSubSubscribers()
if err != nil || len(subs["test"]) != 0 {
t.Error("Error saving subscribers: ", err, subs)
}
}
func TestPublish(t *testing.T) {
ps := NewPubSub(accountingStorage, true)
ps.pubFunc = func(url string, ttl bool, obj interface{}) ([]byte, error) {
@@ -134,3 +175,34 @@ func TestPublishExpired(t *testing.T) {
t.Error("Error removing expired subscribers: ", ps.subscribers)
}
}
func TestPublishExpiredSave(t *testing.T) {
ps := NewPubSub(accountingStorage, true)
ps.pubFunc = func(url string, ttl bool, obj interface{}) ([]byte, error) {
m := obj.(map[string]string)
m["called"] = "yes"
return nil, nil
}
var r string
if err := ps.Subscribe(SubscribeInfo{
EventName: "test",
Transport: utils.META_HTTP_POST,
Address: "url",
LifeSpan: 1,
}, &r); err != nil {
t.Error("Error subscribing: ", err)
}
subs, err := accountingStorage.GetPubSubSubscribers()
if err != nil || len(subs["test"]) != 1 {
t.Error("Error saving subscribers: ", err, subs)
}
if err := ps.Publish(PublishInfo{
Event: map[string]string{"EventName": "test"},
}, &r); err != nil {
t.Error("Error publishing: ", err)
}
subs, err = accountingStorage.GetPubSubSubscribers()
if err != nil || len(subs["test"]) != 0 {
t.Error("Error saving subscribers: ", err, subs)
}
}

View File

@@ -575,7 +575,7 @@ func (ms *MapStorage) GetPubSubSubscribers() (result map[string]map[string]time.
}
func (ms *MapStorage) SetPubSubSubscribers(key string, subs map[string]time.Time) (err error) {
result, err := ms.ms.Marshal(subs)
ms.dict[utils.CDR_STATS_QUEUE_PREFIX+key] = result
ms.dict[utils.PUBSUB_SUBSCRIBERS_PREFIX+key] = result
return
}