@cryptotaxi247 / kubo / commits / d77c4bb5e

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 }