create test node and make first ipns test pass
Jeromy committed
Oct 4, 2014 at 08:00 UTC
5423a008942a00be40259b7bf6c522d94cc432a7
2 files changed
+57
-1
fuse/ipns/ipns_test.go
+8
-1
@@ -6,6 +6,7 @@ import (
6
"testing"
7
8
fstest "github.com/jbenet/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil"
9
+ testutil "github.com/jbenet/go-ipfs/util/testutil"
10
)
11
12
func randBytes(size int) []byte {
@@ -15,7 +16,12 @@ func randBytes(size int) []byte {
16
}
17
18
func TestIpnsBasicIO(t *testing.T) {
18
- fs, err := NewIpns(nil, "")
19
+ localnode, err := testutil.NewMockNode()
20
+ if err != nil {
21
+ t.Fatal(err)
22
+ }
23
+
24
+ fs, err := NewIpns(localnode, "")
25
if err != nil {
26
t.Fatal(err)
27
}
@@ -59,4 +65,5 @@ func TestIpnsBasicIO(t *testing.T) {
65
}
66
67
fi.Close()
68
+
69
}
util/testutil/node.go
new
+49
@@ -0,0 +1,49 @@
1
+package testutil
2
+
3
+import (
4
+ ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go"
5
+ syncds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go/sync"
6
+ bs "github.com/jbenet/go-ipfs/blockservice"
7
+ core "github.com/jbenet/go-ipfs/core"
8
+ ci "github.com/jbenet/go-ipfs/crypto"
9
+ mdag "github.com/jbenet/go-ipfs/merkledag"
10
+ nsys "github.com/jbenet/go-ipfs/namesys"
11
+ "github.com/jbenet/go-ipfs/peer"
12
+ mdht "github.com/jbenet/go-ipfs/routing/mock"
13
+)
14
+
15
+var _ = core.IpfsNode{}
16
+
17
+func NewMockNode() (*core.IpfsNode, error) {
18
+ nd := new(core.IpfsNode)
19
+
20
+ //Generate Identity
21
+ nd.Identity = &peer.Peer{ID: []byte("TESTING")}
22
+ pk, sk, err := ci.GenerateKeyPair(ci.RSA, 1024)
23
+ if err != nil {
24
+ return nil, err
25
+ }
26
+ nd.Identity.PrivKey = pk
27
+ nd.Identity.PubKey = sk
28
+
29
+ // Temp Datastore
30
+ dstore := ds.NewMapDatastore()
31
+ nd.Datastore = syncds.MutexWrap(dstore)
32
+
33
+ // Routing
34
+ dht := mdht.NewMockRouter(nd.Identity, nd.Datastore)
35
+
36
+ // Bitswap
37
+ //??
38
+
39
+ bserv, err := bs.NewBlockService(nd.Datastore, nil)
40
+ if err != nil {
41
+ return nil, err
42
+ }
43
+
44
+ dserv := &mdag.DAGService{bserv}
45
+
46
+ // Namespace resolver
47
+ nd.Namesys = nsys.NewMasterResolver(dht, dserv)
48
+ return nd, nil
49
+}