From 128999b76300ec3f1b603fd9e845e8d27635e9c2 Mon Sep 17 00:00:00 2001 From: harsh-98 Date: Fri, 5 May 2023 20:34:33 +0530 Subject: [PATCH] fix: make test work without buffered channel from relay.Subcribe --- waku/v2/protocol/legacy_filter/waku_filter.go | 1 - waku/v2/rpc/filter_test.go | 7 ++++++- waku/v2/rpc/private.go | 4 ++-- waku/v2/rpc/private_test.go | 16 ++++++++++++---- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/waku/v2/protocol/legacy_filter/waku_filter.go b/waku/v2/protocol/legacy_filter/waku_filter.go index 07537dbc..9ca46b4d 100644 --- a/waku/v2/protocol/legacy_filter/waku_filter.go +++ b/waku/v2/protocol/legacy_filter/waku_filter.go @@ -393,7 +393,6 @@ func (wf *WakuFilter) Subscribe(ctx context.Context, f ContentFilter, opts ...Fi ContentFilters: f.ContentTopics, Chan: make(chan *protocol.Envelope, 1024), // To avoid blocking } - wf.filters.Set(filterID, theFilter) return diff --git a/waku/v2/rpc/filter_test.go b/waku/v2/rpc/filter_test.go index 7da4c526..dd4efef0 100644 --- a/waku/v2/rpc/filter_test.go +++ b/waku/v2/rpc/filter_test.go @@ -35,7 +35,12 @@ func makeFilterService(t *testing.T, isFullNode bool) *FilterService { require.NoError(t, err) if isFullNode { - _, err = n.Relay().SubscribeToTopic(context.Background(), testTopic) + sub, err := n.Relay().SubscribeToTopic(context.Background(), testTopic) + go func() { + for range sub.Ch { + } + fmt.Println("stuck") + }() require.NoError(t, err) } diff --git a/waku/v2/rpc/private.go b/waku/v2/rpc/private.go index 0075f20e..47131ef1 100644 --- a/waku/v2/rpc/private.go +++ b/waku/v2/rpc/private.go @@ -254,8 +254,8 @@ func (p *PrivateService) GetV1AsymmetricMessages(req *http.Request, args *Asymme decodedMessages = append(decodedMessages, msg) } - for i := range decodedMessages { - *reply = append(*reply, ProtoToRPC(decodedMessages[i])) + for _, msg := range decodedMessages { + *reply = append(*reply, ProtoToRPC(msg)) } return nil diff --git a/waku/v2/rpc/private_test.go b/waku/v2/rpc/private_test.go index 29d40e69..7653c7d5 100644 --- a/waku/v2/rpc/private_test.go +++ b/waku/v2/rpc/private_test.go @@ -2,7 +2,6 @@ package rpc import ( "context" - "fmt" "testing" "time" @@ -94,9 +93,13 @@ func TestGetV1SymmetricMessages(t *testing.T) { defer d.node.Stop() // Subscribing topic to test getter - _, err := d.node.Relay().SubscribeToTopic(context.TODO(), "test") + sub, err := d.node.Relay().SubscribeToTopic(context.TODO(), "test") require.NoError(t, err) - fmt.Println("here") + go func() { + for range sub.Ch { + } + }() + var reply SuccessReply err = d.PostV1SymmetricMessage( makeRequest(t), @@ -123,6 +126,7 @@ func TestGetV1SymmetricMessages(t *testing.T) { ) require.NoError(t, err) require.Len(t, getReply, 1) + d.Stop() // not neccessary as wakuNode.Stop() calls broadcaster.Stop() which calls uses all the receiving channels } func TestGetV1AsymmetricMessages(t *testing.T) { @@ -131,8 +135,12 @@ func TestGetV1AsymmetricMessages(t *testing.T) { defer d.node.Stop() // Subscribing topic to test getter - _, err := d.node.Relay().SubscribeToTopic(context.TODO(), "test") + sub, err := d.node.Relay().SubscribeToTopic(context.TODO(), "test") require.NoError(t, err) + go func() { + for range sub.Ch { + } + }() prvKey, err := crypto.GenerateKey() require.NoError(t, err)