Skip to content

Commit

Permalink
test: test notify protocols updated (#567)
Browse files Browse the repository at this point in the history
Signed-off-by: gfanton <[email protected]>
Co-authored-by: gfanton <[email protected]>
  • Loading branch information
Stebalien and gfanton authored Jul 11, 2024
1 parent b23b3ee commit 093f13c
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions notify_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package pubsub

import (
"context"
"testing"
"time"

"github.com/libp2p/go-libp2p/p2p/protocol/identify"
)

func TestNotifyPeerProtocolsUpdated(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()

hosts := getDefaultHosts(t, 2)

// Initialize id services.
{
ids1, err := identify.NewIDService(hosts[0])
if err != nil {
t.Fatal(err)
}
ids1.Start()
defer ids1.Close()

ids2, err := identify.NewIDService(hosts[1])
if err != nil {
t.Fatal(err)
}
ids2.Start()
defer ids2.Close()
}

psubs0 := getPubsub(ctx, hosts[0])
connect(t, hosts[0], hosts[1])
// Delay to make sure that peers are connected.
<-time.After(time.Millisecond * 100)
psubs1 := getPubsub(ctx, hosts[1])

// Pubsub 0 joins topic "test".
topic0, err := psubs0.Join("test")
if err != nil {
t.Fatal(err)
}
defer topic0.Close()

sub0, err := topic0.Subscribe()
if err != nil {
t.Fatal(err)
}
defer sub0.Cancel()

// Pubsub 1 joins topic "test".
topic1, err := psubs1.Join("test")
if err != nil {
t.Fatal(err)
}
defer topic1.Close()

sub1, err := topic1.Subscribe()
if err != nil {
t.Fatal(err)
}
defer sub1.Cancel()

// Delay before checking results (similar to most tests).
<-time.After(time.Millisecond * 100)

if len(topic0.ListPeers()) == 0 {
t.Fatalf("topic0 should at least have 1 peer")
}

if len(topic1.ListPeers()) == 0 {
t.Fatalf("topic1 should at least have 1 peer")
}
}

0 comments on commit 093f13c

Please sign in to comment.