mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-05 16:28:06 +08:00
fix(bitswap) init wantlist
+ test that a partners wants are remembered by message receiver
This commit is contained in:
parent
be8e08675d
commit
b780694757
@ -14,6 +14,7 @@ type keySet map[u.Key]struct{}
|
||||
|
||||
func newLedger(p *peer.Peer, strategy strategyFunc) *ledger {
|
||||
return &ledger{
|
||||
wantList: keySet{},
|
||||
Strategy: strategy,
|
||||
Partner: p,
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import (
|
||||
|
||||
message "github.com/jbenet/go-ipfs/bitswap/message"
|
||||
"github.com/jbenet/go-ipfs/peer"
|
||||
"github.com/jbenet/go-ipfs/util/testutil"
|
||||
)
|
||||
|
||||
type peerAndStrategist struct {
|
||||
@ -19,6 +20,23 @@ func newPeerAndStrategist(idStr string) peerAndStrategist {
|
||||
}
|
||||
}
|
||||
|
||||
func TestBlockRecordedAsWantedAfterMessageReceived(t *testing.T) {
|
||||
beggar := newPeerAndStrategist("can't be chooser")
|
||||
chooser := newPeerAndStrategist("chooses JIF")
|
||||
|
||||
block := testutil.NewBlockOrFail(t, "data wanted by beggar")
|
||||
|
||||
messageFromBeggarToChooser := message.New()
|
||||
messageFromBeggarToChooser.AppendWanted(block.Key())
|
||||
|
||||
chooser.MessageReceived(beggar.Peer, messageFromBeggarToChooser)
|
||||
// for this test, doesn't matter if you record that beggar sent
|
||||
|
||||
if !chooser.IsWantedByPeer(block.Key(), beggar.Peer) {
|
||||
t.Fatal("chooser failed to record that beggar wants block")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPeerIsAddedToPeersWhenMessageReceivedOrSent(t *testing.T) {
|
||||
|
||||
sanfrancisco := newPeerAndStrategist("sf")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user