refactor(peer): create peer through peerstore
for safety! use mockpeer.WithID methods to create peers in tests License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Dec 8, 2014 at 01:40 UTC
d77c4bb5e099062bb8b1cf0534710cc35946fafb
28 files changed
+123
-79
blocks/blockstore/write_cache_test.go
+2
-1
@@ -1,10 +1,11 @@
1
package blockstore
2
3
import (
4
+ "testing"
5
+
6
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
7
syncds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore/sync"
8
"github.com/jbenet/go-ipfs/blocks"
7
- "testing"
9
)
10
11
func TestReturnsErrorWhenSizeNegative(t *testing.T) {
core/mock.go
+3
-2
@@ -25,12 +25,13 @@ func NewMockNode() (*IpfsNode, error) {
25
return nil, err
26
}
27
28
- p, err := peer.WithKeyPair(sk, pk)
28
+ nd.Peerstore = peer.NewPeerstore()
29
+
30
+ p, err := nd.Peerstore.WithKeyPair(sk, pk)
31
if err != nil {
32
return nil, err
33
}
34
33
- nd.Peerstore = peer.NewPeerstore()
35
nd.Identity, err = nd.Peerstore.Add(p)
36
if err != nil {
37
return nil, err
crypto/spipe/handshake.go
+2
-1
@@ -14,9 +14,10 @@ import (
14
"crypto/sha1"
15
"crypto/sha256"
16
"crypto/sha512"
17
- bfish "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.crypto/blowfish"
17
"hash"
18
19
+ bfish "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.crypto/blowfish"
20
+
21
proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
22
23
ci "github.com/jbenet/go-ipfs/crypto"
crypto/spipe/spipe_test.go
+2
-1
@@ -7,6 +7,7 @@ import (
7
8
ci "github.com/jbenet/go-ipfs/crypto"
9
"github.com/jbenet/go-ipfs/peer"
10
+ "github.com/jbenet/go-ipfs/peer/mock"
11
"github.com/jbenet/go-ipfs/util"
12
"github.com/jbenet/go-ipfs/util/pipes"
13
)
@@ -17,7 +18,7 @@ func getPeer(tb testing.TB) peer.Peer {
18
tb.Fatal(err)
19
}
20
20
- p, err := peer.WithKeyPair(privk, pubk)
21
+ p, err := mockpeer.WithKeyPair(privk, pubk)
22
if err != nil {
23
tb.Fatal(err)
24
}
exchange/bitswap/bitswap_test.go
+2
-2
@@ -10,7 +10,7 @@ import (
10
blocks "github.com/jbenet/go-ipfs/blocks"
11
blocksutil "github.com/jbenet/go-ipfs/blocks/blocksutil"
12
tn "github.com/jbenet/go-ipfs/exchange/bitswap/testnet"
13
- peer "github.com/jbenet/go-ipfs/peer"
13
+ "github.com/jbenet/go-ipfs/peer/mock"
14
mock "github.com/jbenet/go-ipfs/routing/mock"
15
)
16
@@ -53,7 +53,7 @@ func TestProviderForKeyButNetworkCannotFind(t *testing.T) {
53
g := NewSessionGenerator(net, rs)
54
55
block := blocks.NewBlock([]byte("block"))
56
- rs.Announce(peer.WithIDString("testing"), block.Key()) // but not on network
56
+ rs.Announce(mockpeer.WithIDString("testing"), block.Key()) // but not on network
57
58
solo := g.Next()
59
exchange/bitswap/message/message_test.go
+4
-4
@@ -6,7 +6,7 @@ import (
6
7
blocks "github.com/jbenet/go-ipfs/blocks"
8
pb "github.com/jbenet/go-ipfs/exchange/bitswap/message/internal/pb"
9
- peer "github.com/jbenet/go-ipfs/peer"
9
+ "github.com/jbenet/go-ipfs/peer/mock"
10
u "github.com/jbenet/go-ipfs/util"
11
)
12
@@ -89,7 +89,7 @@ func TestCopyProtoByValue(t *testing.T) {
89
90
func TestToNetMethodSetsPeer(t *testing.T) {
91
m := New()
92
- p := peer.WithIDString("X")
92
+ p := mockpeer.WithIDString("X")
93
netmsg, err := m.ToNet(p)
94
if err != nil {
95
t.Fatal(err)
@@ -107,7 +107,7 @@ func TestToNetFromNetPreservesWantList(t *testing.T) {
107
original.AddWanted(u.Key("T"))
108
original.AddWanted(u.Key("F"))
109
110
- p := peer.WithIDString("X")
110
+ p := mockpeer.WithIDString("X")
111
netmsg, err := original.ToNet(p)
112
if err != nil {
113
t.Fatal(err)
@@ -138,7 +138,7 @@ func TestToAndFromNetMessage(t *testing.T) {
138
original.AddBlock(blocks.NewBlock([]byte("F")))
139
original.AddBlock(blocks.NewBlock([]byte("M")))
140
141
- p := peer.WithIDString("X")
141
+ p := mockpeer.WithIDString("X")
142
netmsg, err := original.ToNet(p)
143
if err != nil {
144
t.Fatal(err)
exchange/bitswap/strategy/strategy_test.go
+2
-1
@@ -7,6 +7,7 @@ import (
7
blocks "github.com/jbenet/go-ipfs/blocks"
8
message "github.com/jbenet/go-ipfs/exchange/bitswap/message"
9
peer "github.com/jbenet/go-ipfs/peer"
10
+ "github.com/jbenet/go-ipfs/peer/mock"
11
)
12
13
type peerAndStrategist struct {
@@ -16,7 +17,7 @@ type peerAndStrategist struct {
17
18
func newPeerAndStrategist(idStr string) peerAndStrategist {
19
return peerAndStrategist{
19
- Peer: peer.WithIDString(idStr),
20
+ Peer: mockpeer.WithIDString(idStr),
21
Strategy: New(true),
22
}
23
}
exchange/bitswap/testnet/network_test.go
+7
-6
@@ -9,6 +9,7 @@ import (
9
bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
10
bsnet "github.com/jbenet/go-ipfs/exchange/bitswap/network"
11
peer "github.com/jbenet/go-ipfs/peer"
12
+ "github.com/jbenet/go-ipfs/peer/mock"
13
)
14
15
func TestSendRequestToCooperativePeer(t *testing.T) {
@@ -18,8 +19,8 @@ func TestSendRequestToCooperativePeer(t *testing.T) {
19
20
t.Log("Get two network adapters")
21
21
- initiator := net.Adapter(peer.WithIDString("initiator"))
22
- recipient := net.Adapter(peer.WithID(idOfRecipient))
22
+ initiator := net.Adapter(mockpeer.WithIDString("initiator"))
23
+ recipient := net.Adapter(mockpeer.WithID(idOfRecipient))
24
25
expectedStr := "response from recipient"
26
recipient.SetDelegate(lambda(func(
@@ -43,7 +44,7 @@ func TestSendRequestToCooperativePeer(t *testing.T) {
44
message := bsmsg.New()
45
message.AddBlock(blocks.NewBlock([]byte("data")))
46
response, err := initiator.SendRequest(
46
- context.Background(), peer.WithID(idOfRecipient), message)
47
+ context.Background(), mockpeer.WithID(idOfRecipient), message)
48
if err != nil {
49
t.Fatal(err)
50
}
@@ -61,8 +62,8 @@ func TestSendRequestToCooperativePeer(t *testing.T) {
62
func TestSendMessageAsyncButWaitForResponse(t *testing.T) {
63
net := VirtualNetwork()
64
idOfResponder := []byte("responder")
64
- waiter := net.Adapter(peer.WithIDString("waiter"))
65
- responder := net.Adapter(peer.WithID(idOfResponder))
65
+ waiter := net.Adapter(mockpeer.WithIDString("waiter"))
66
+ responder := net.Adapter(mockpeer.WithID(idOfResponder))
67
68
var wg sync.WaitGroup
69
@@ -107,7 +108,7 @@ func TestSendMessageAsyncButWaitForResponse(t *testing.T) {
108
messageSentAsync := bsmsg.New()
109
messageSentAsync.AddBlock(blocks.NewBlock([]byte("data")))
110
errSending := waiter.SendMessage(
110
- context.Background(), peer.WithID(idOfResponder), messageSentAsync)
111
+ context.Background(), mockpeer.WithID(idOfResponder), messageSentAsync)
112
if errSending != nil {
113
t.Fatal(errSending)
114
}
exchange/bitswap/testutils.go
+5
-3
@@ -16,6 +16,7 @@ func NewSessionGenerator(
16
return SessionGenerator{
17
net: net,
18
rs: rs,
19
+ ps: peer.NewPeerstore(),
20
seq: 0,
21
}
22
}
@@ -24,11 +25,12 @@ type SessionGenerator struct {
25
seq int
26
net tn.Network
27
rs mock.RoutingServer
28
+ ps peer.Peerstore
29
}
30
31
func (g *SessionGenerator) Next() Instance {
32
g.seq++
31
- return session(g.net, g.rs, []byte(string(g.seq)))
33
+ return session(g.net, g.rs, g.ps, []byte(string(g.seq)))
34
}
35
36
func (g *SessionGenerator) Instances(n int) []Instance {
@@ -51,8 +53,8 @@ type Instance struct {
53
// NB: It's easy make mistakes by providing the same peer ID to two different
54
// sessions. To safeguard, use the SessionGenerator to generate sessions. It's
55
// just a much better idea.
54
-func session(net tn.Network, rs mock.RoutingServer, id peer.ID) Instance {
55
- p := peer.WithID(id)
56
+func session(net tn.Network, rs mock.RoutingServer, ps peer.Peerstore, id peer.ID) Instance {
57
+ p := ps.WithID(id)
58
59
adapter := net.Adapter(p)
60
htc := rs.Client(p)
namesys/resolve_test.go
+2
-2
@@ -5,13 +5,13 @@ import (
5
6
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
7
ci "github.com/jbenet/go-ipfs/crypto"
8
- "github.com/jbenet/go-ipfs/peer"
8
+ "github.com/jbenet/go-ipfs/peer/mock"
9
mock "github.com/jbenet/go-ipfs/routing/mock"
10
u "github.com/jbenet/go-ipfs/util"
11
)
12
13
func TestRoutingResolve(t *testing.T) {
14
- local := peer.WithIDString("testID")
14
+ local := mockpeer.WithIDString("testID")
15
lds := ds.NewMapDatastore()
16
d := mock.NewMockRouter(local, lds)
17
net/conn/dial_test.go
+2
-1
@@ -5,6 +5,7 @@ import (
5
6
ci "github.com/jbenet/go-ipfs/crypto"
7
peer "github.com/jbenet/go-ipfs/peer"
8
+ "github.com/jbenet/go-ipfs/peer/mock"
9
10
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
11
ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
@@ -21,7 +22,7 @@ func setupPeer(addr string) (peer.Peer, error) {
22
return nil, err
23
}
24
24
- p, err := peer.WithKeyPair(sk, pk)
25
+ p, err := mockpeer.WithKeyPair(sk, pk)
26
if err != nil {
27
return nil, err
28
}
net/mux/mux_test.go
+2
-1
@@ -11,6 +11,7 @@ import (
11
msg "github.com/jbenet/go-ipfs/net/message"
12
pb "github.com/jbenet/go-ipfs/net/mux/internal/pb"
13
peer "github.com/jbenet/go-ipfs/peer"
14
+ "github.com/jbenet/go-ipfs/peer/mock"
15
16
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
17
)
@@ -30,7 +31,7 @@ func newPeer(t *testing.T, id string) peer.Peer {
31
return nil
32
}
33
33
- return peer.WithID(peer.ID(mh))
34
+ return mockpeer.WithID(peer.ID(mh))
35
}
36
37
func testMsg(t *testing.T, m msg.NetMessage, data []byte) {
net/service/service_test.go
+2
-1
@@ -7,6 +7,7 @@ import (
7
8
msg "github.com/jbenet/go-ipfs/net/message"
9
peer "github.com/jbenet/go-ipfs/peer"
10
+ "github.com/jbenet/go-ipfs/peer/mock"
11
12
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
13
mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
@@ -32,7 +33,7 @@ func newPeer(t *testing.T, id string) peer.Peer {
33
return nil
34
}
35
35
- return peer.WithID(peer.ID(mh))
36
+ return mockpeer.WithID(peer.ID(mh))
37
}
38
39
func TestServiceHandler(t *testing.T) {
net/swarm/simul_test.go
+2
-1
@@ -6,6 +6,7 @@ import (
6
"testing"
7
8
peer "github.com/jbenet/go-ipfs/peer"
9
+ "github.com/jbenet/go-ipfs/peer/mock"
10
11
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
12
)
@@ -28,7 +29,7 @@ func TestSimultOpen(t *testing.T) {
29
var wg sync.WaitGroup
30
connect := func(s *Swarm, dst peer.Peer) {
31
// copy for other peer
31
- cp := peer.WithID(dst.ID())
32
+ cp := mockpeer.WithID(dst.ID())
33
cp.AddAddress(dst.Addresses()[0])
34
35
if _, err := s.Dial(cp); err != nil {
net/swarm/swarm_test.go
+2
-1
@@ -9,6 +9,7 @@ import (
9
ci "github.com/jbenet/go-ipfs/crypto"
10
msg "github.com/jbenet/go-ipfs/net/message"
11
peer "github.com/jbenet/go-ipfs/peer"
12
+ "github.com/jbenet/go-ipfs/peer/mock"
13
u "github.com/jbenet/go-ipfs/util"
14
15
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
@@ -43,7 +44,7 @@ func setupPeer(t *testing.T, addr string) peer.Peer {
44
t.Fatal(err)
45
}
46
46
- p, err := peer.WithKeyPair(sk, pk)
47
+ p, err := mockpeer.WithKeyPair(sk, pk)
48
if err != nil {
49
t.Fatal(err)
50
}
peer/mock/mock.go
new
+19
@@ -0,0 +1,19 @@
1
+package mockpeer
2
+
3
+import (
4
+ "github.com/jbenet/go-ipfs/peer"
5
+
6
+ ic "github.com/jbenet/go-ipfs/crypto"
7
+)
8
+
9
+func WithKeyPair(sk ic.PrivKey, pk ic.PubKey) (peer.Peer, error) {
10
+ return peer.NewPeerstore().WithKeyPair(sk, pk)
11
+}
12
+
13
+func WithID(id peer.ID) peer.Peer {
14
+ return peer.NewPeerstore().WithID(id)
15
+}
16
+
17
+func WithIDString(id string) peer.Peer {
18
+ return peer.NewPeerstore().WithIDString(id)
19
+}
peer/peer.go
-31
@@ -394,34 +394,3 @@ func (p *peer) SetVersions(agent, protocol string) {
394
p.agentVersion = agent
395
p.protocolVersion = protocol
396
}
397
-
398
-// WithKeyPair returns a Peer object with given keys.
399
-func WithKeyPair(sk ic.PrivKey, pk ic.PubKey) (Peer, error) {
400
- if sk == nil && pk == nil {
401
- return nil, fmt.Errorf("PeerWithKeyPair nil keys")
402
- }
403
-
404
- pk2 := sk.GetPublic()
405
- if pk == nil {
406
- pk = pk2
407
- } else if !pk.Equals(pk2) {
408
- return nil, fmt.Errorf("key mismatch. pubkey is not privkey's pubkey")
409
- }
410
-
411
- pkid, err := IDFromPubKey(pk)
412
- if err != nil {
413
- return nil, fmt.Errorf("Failed to hash public key: %v", err)
414
- }
415
-
416
- return &peer{id: pkid, pubKey: pk, privKey: sk}, nil
417
-}
418
-
419
-// WithID constructs a peer with given ID.
420
-func WithID(id ID) Peer {
421
- return &peer{id: id}
422
-}
423
-
424
-// WithIDString constructs a peer with given ID (string).
425
-func WithIDString(id string) Peer {
426
- return WithID(ID(id))
427
-}
peer/peer_test.go
+2
-2
@@ -27,7 +27,7 @@ func TestNetAddress(t *testing.T) {
27
return
28
}
29
30
- p := WithID(ID(mh))
30
+ p := NewPeerstore().WithID(ID(mh))
31
p.AddAddress(tcp)
32
p.AddAddress(udp)
33
p.AddAddress(tcp)
@@ -48,7 +48,7 @@ func TestNetAddress(t *testing.T) {
48
}
49
50
func TestStringMethodWithSmallId(t *testing.T) {
51
- p := WithID([]byte(string(0)))
51
+ p := NewPeerstore().WithID([]byte(string(0)))
52
p1, ok := p.(*peer)
53
if !ok {
54
t.Fatal("WithID doesn't return a peer")
peer/peerstore.go
+37
@@ -3,7 +3,9 @@ package peer
3
import (
4
"sync"
5
6
+ ic "github.com/jbenet/go-ipfs/crypto"
7
u "github.com/jbenet/go-ipfs/util"
8
+ errors "github.com/jbenet/go-ipfs/util/debugerror"
9
)
10
11
// Peerstore provides a threadsafe collection for peers.
@@ -12,6 +14,10 @@ type Peerstore interface {
14
Add(Peer) (Peer, error)
15
Delete(ID) error
16
All() (*Map, error)
17
+
18
+ WithKeyPair(sk ic.PrivKey, pk ic.PubKey) (Peer, error)
19
+ WithID(id ID) Peer
20
+ WithIDString(id string) Peer
21
}
22
23
type peerstore struct {
@@ -89,3 +95,34 @@ func (p *peerstore) All() (*Map, error) {
95
}
96
return &ps, nil
97
}
98
+
99
+// WithKeyPair returns a Peer object with given keys.
100
+func (ps *peerstore) WithKeyPair(sk ic.PrivKey, pk ic.PubKey) (Peer, error) {
101
+ if sk == nil && pk == nil {
102
+ return nil, errors.Errorf("PeerWithKeyPair nil keys")
103
+ }
104
+
105
+ pk2 := sk.GetPublic()
106
+ if pk == nil {
107
+ pk = pk2
108
+ } else if !pk.Equals(pk2) {
109
+ return nil, errors.Errorf("key mismatch. pubkey is not privkey's pubkey")
110
+ }
111
+
112
+ pkid, err := IDFromPubKey(pk)
113
+ if err != nil {
114
+ return nil, errors.Errorf("Failed to hash public key: %v", err)
115
+ }
116
+
117
+ return &peer{id: pkid, pubKey: pk, privKey: sk}, nil
118
+}
119
+
120
+// WithID constructs a peer with given ID.
121
+func (ps *peerstore) WithID(id ID) Peer {
122
+ return &peer{id: id}
123
+}
124
+
125
+// WithIDString constructs a peer with given ID (string).
126
+func (ps *peerstore) WithIDString(id string) Peer {
127
+ return ps.WithID(ID(id))
128
+}
peer/peerstore_test.go
+4
-4
@@ -7,13 +7,13 @@ import (
7
ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
8
)
9
10
-func setupPeer(id string, addr string) (Peer, error) {
10
+func setupPeer(ps Peerstore, id string, addr string) (Peer, error) {
11
tcp, err := ma.NewMultiaddr(addr)
12
if err != nil {
13
return nil, err
14
}
15
16
- p := WithIDString(id)
16
+ p := ps.WithIDString(id)
17
p.AddAddress(tcp)
18
return p, nil
19
}
@@ -22,8 +22,8 @@ func TestPeerstore(t *testing.T) {
22
23
ps := NewPeerstore()
24
25
- p11, _ := setupPeer("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a31", "/ip4/127.0.0.1/tcp/1234")
26
- p21, _ := setupPeer("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a32", "/ip4/127.0.0.1/tcp/2345")
25
+ p11, _ := setupPeer(ps, "11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a31", "/ip4/127.0.0.1/tcp/1234")
26
+ p21, _ := setupPeer(ps, "11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a32", "/ip4/127.0.0.1/tcp/2345")
27
// p31, _ := setupPeer("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33", "/ip4/127.0.0.1/tcp/3456")
28
// p41, _ := setupPeer("11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a34", "/ip4/127.0.0.1/tcp/4567")
29
peer/queue/queue_test.go
+3
-2
@@ -7,13 +7,14 @@ import (
7
"time"
8
9
peer "github.com/jbenet/go-ipfs/peer"
10
+ "github.com/jbenet/go-ipfs/peer/mock"
11
u "github.com/jbenet/go-ipfs/util"
12
13
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
14
)
15
16
func newPeer(id string) peer.Peer {
16
- return peer.WithIDString(id)
17
+ return mockpeer.WithIDString(id)
18
}
19
20
func TestQueue(t *testing.T) {
@@ -69,7 +70,7 @@ func TestQueue(t *testing.T) {
70
func newPeerTime(t time.Time) peer.Peer {
71
s := fmt.Sprintf("hmmm time: %v", t)
72
h := u.Hash([]byte(s))
72
- return peer.WithID(peer.ID(h))
73
+ return mockpeer.WithID(peer.ID(h))
74
}
75
76
func TestSyncQueue(t *testing.T) {
repo/logs.go
+1
-1
@@ -1,9 +1,9 @@
1
package repo
2
3
import (
4
+ config "github.com/jbenet/go-ipfs/config"
5
util "github.com/jbenet/go-ipfs/util"
6
eventlog "github.com/jbenet/go-ipfs/util/eventlog"
6
- config "github.com/jbenet/go-ipfs/config"
7
)
8
9
func ConfigureEventLogger(config config.Logs) error {
routing/dht/dht_test.go
+2
-1
@@ -14,6 +14,7 @@ import (
14
mux "github.com/jbenet/go-ipfs/net/mux"
15
netservice "github.com/jbenet/go-ipfs/net/service"
16
peer "github.com/jbenet/go-ipfs/peer"
17
+ "github.com/jbenet/go-ipfs/peer/mock"
18
u "github.com/jbenet/go-ipfs/util"
19
20
"fmt"
@@ -68,7 +69,7 @@ func makePeer(addr ma.Multiaddr) peer.Peer {
69
if err != nil {
70
panic(err)
71
}
71
- p, err := peer.WithKeyPair(sk, pk)
72
+ p, err := mockpeer.WithKeyPair(sk, pk)
73
if err != nil {
74
panic(err)
75
}
routing/dht/ext_test.go
+2
-1
@@ -12,6 +12,7 @@ import (
12
msg "github.com/jbenet/go-ipfs/net/message"
13
mux "github.com/jbenet/go-ipfs/net/mux"
14
peer "github.com/jbenet/go-ipfs/peer"
15
+ "github.com/jbenet/go-ipfs/peer/mock"
16
"github.com/jbenet/go-ipfs/routing"
17
pb "github.com/jbenet/go-ipfs/routing/dht/pb"
18
u "github.com/jbenet/go-ipfs/util"
@@ -210,7 +211,7 @@ func TestGetFailures(t *testing.T) {
211
func _randPeer() peer.Peer {
212
id := make(peer.ID, 16)
213
crand.Read(id)
213
- p := peer.WithID(id)
214
+ p := mockpeer.WithID(id)
215
return p
216
}
217
routing/dht/providers_test.go
+2
-1
@@ -4,6 +4,7 @@ import (
4
"testing"
5
6
"github.com/jbenet/go-ipfs/peer"
7
+ "github.com/jbenet/go-ipfs/peer/mock"
8
u "github.com/jbenet/go-ipfs/util"
9
10
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
@@ -14,7 +15,7 @@ func TestProviderManager(t *testing.T) {
15
mid := peer.ID("testing")
16
p := NewProviderManager(ctx, mid)
17
a := u.Key("test")
17
- p.AddProvider(a, peer.WithIDString("testingprovider"))
18
+ p.AddProvider(a, mockpeer.WithIDString("testingprovider"))
19
resp := p.GetProviders(ctx, a)
20
if len(resp) != 1 {
21
t.Fatal("Could not retrieve provider.")
routing/mock/routing_test.go
+7
-6
@@ -6,6 +6,7 @@ import (
6
7
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
8
"github.com/jbenet/go-ipfs/peer"
9
+ "github.com/jbenet/go-ipfs/peer/mock"
10
u "github.com/jbenet/go-ipfs/util"
11
)
12
@@ -20,7 +21,7 @@ func TestKeyNotFound(t *testing.T) {
21
22
func TestSetAndGet(t *testing.T) {
23
pid := peer.ID([]byte("the peer id"))
23
- p := peer.WithID(pid)
24
+ p := mockpeer.WithID(pid)
25
k := u.Key("42")
26
rs := VirtualRoutingServer()
27
err := rs.Announce(p, k)
@@ -40,7 +41,7 @@ func TestSetAndGet(t *testing.T) {
41
}
42
43
func TestClientFindProviders(t *testing.T) {
43
- peer := peer.WithIDString("42")
44
+ peer := mockpeer.WithIDString("42")
45
rs := VirtualRoutingServer()
46
client := rs.Client(peer)
47
@@ -79,7 +80,7 @@ func TestClientOverMax(t *testing.T) {
80
k := u.Key("hello")
81
numProvidersForHelloKey := 100
82
for i := 0; i < numProvidersForHelloKey; i++ {
82
- peer := peer.WithIDString(string(i))
83
+ peer := mockpeer.WithIDString(string(i))
84
err := rs.Announce(peer, k)
85
if err != nil {
86
t.Fatal(err)
@@ -92,7 +93,7 @@ func TestClientOverMax(t *testing.T) {
93
}
94
95
max := 10
95
- peer := peer.WithIDString("TODO")
96
+ peer := mockpeer.WithIDString("TODO")
97
client := rs.Client(peer)
98
99
providersFromClient := client.FindProvidersAsync(context.Background(), k, max)
@@ -114,7 +115,7 @@ func TestCanceledContext(t *testing.T) {
115
i := 0
116
go func() { // infinite stream
117
for {
117
- peer := peer.WithIDString(string(i))
118
+ peer := mockpeer.WithIDString(string(i))
119
err := rs.Announce(peer, k)
120
if err != nil {
121
t.Fatal(err)
@@ -123,7 +124,7 @@ func TestCanceledContext(t *testing.T) {
124
}
125
}()
126
126
- local := peer.WithIDString("peer id doesn't matter")
127
+ local := mockpeer.WithIDString("peer id doesn't matter")
128
client := rs.Client(local)
129
130
t.Log("warning: max is finite so this test is non-deterministic")
util/eventlog/entry.go
+1
-1
@@ -3,8 +3,8 @@ package eventlog
3
import (
4
"time"
5
6
- "github.com/jbenet/go-ipfs/util"
6
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/maybebtc/logrus"
7
+ "github.com/jbenet/go-ipfs/util"
8
)
9
10
type entry struct {
util/testutil/gen.go
+2
-1
@@ -28,5 +28,6 @@ func RandPeer() peer.Peer {
28
id := make([]byte, 16)
29
crand.Read(id)
30
mhid := u.Hash(id)
31
- return peer.WithID(peer.ID(mhid))
31
+ ps := peer.NewPeerstore()
32
+ return ps.WithID(peer.ID(mhid))
33
}