dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 30a835fe8b2663f70a6b9bafc7cdb0cd575e6dd0
parent 508d9fa795bec9dad2677ae84e775fcca3398850
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 23 May 2023 04:50:00 -0700

fix pubsub tests

Diffstat:
Mpkg/pubsub/pubsub_test.go | 36+++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/pkg/pubsub/pubsub_test.go b/pkg/pubsub/pubsub_test.go @@ -11,11 +11,13 @@ func TestPublish(t *testing.T) { topic := "topic1" msg := "msg1" - s1 := Subscribe([]string{topic}) - s2 := Subscribe([]string{topic}) - s3 := Subscribe([]string{topic}) + ps := NewPubSub[string]() - PublishString(topic, msg) + s1 := ps.Subscribe([]string{topic}) + s2 := ps.Subscribe([]string{topic}) + s3 := ps.Subscribe([]string{topic}) + + ps.Pub(topic, msg) s1Topic, s1Msg, s1Err := s1.ReceiveTimeout(time.Second) s2Topic, s2Msg, s2Err := s2.ReceiveTimeout(time.Second) @@ -38,9 +40,11 @@ func TestSubscribe_manyTopics(t *testing.T) { msg1 := "msg1" msg2 := "msg2" - s := Subscribe([]string{topic1, topic2}) - PublishString(topic1, msg1) - PublishString(topic2, msg2) + ps := NewPubSub[string]() + + s := ps.Subscribe([]string{topic1, topic2}) + ps.Pub(topic1, msg1) + ps.Pub(topic2, msg2) s1Topic1, s1Msg1, s1Err1 := s.ReceiveTimeout(time.Second) s1Topic2, s1Msg2, s1Err2 := s.ReceiveTimeout(time.Second) @@ -56,29 +60,35 @@ func TestSubscribe_manyTopics(t *testing.T) { func TestPublishMarshal(t *testing.T) { topic := "topic" - var msg struct { + type Msg struct { ID int64 Msg string private string } + var msg Msg msg.ID = 1 msg.Msg = "will be sent" msg.private = "will not" - s1 := Subscribe([]string{topic}) - pubErr := Publish(topic, msg) + ps := NewPubSub[Msg]() + + s1 := ps.Subscribe([]string{topic}) + ps.Pub(topic, msg) s1Topic, s1Msg, s1Err := s1.ReceiveTimeout(time.Second) - assert.Nil(t, pubErr) assert.Nil(t, s1Err) - assert.Equal(t, `{"ID":1,"Msg":"will be sent"}`, s1Msg) + assert.Equal(t, int64(1), s1Msg.ID) + assert.Equal(t, "will be sent", s1Msg.Msg) + assert.Equal(t, "will not", s1Msg.private) assert.Equal(t, topic, s1Topic) } func TestSub_Close(t *testing.T) { topic := "topic1" - s1 := Subscribe([]string{topic}) + ps := NewPubSub[string]() + + s1 := ps.Subscribe([]string{topic}) s1.Close() _, _, s1Err := s1.ReceiveTimeout(time.Second)