test: add dirbuilder tests
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Sep 8, 2016 at 13:40 UTC
0750c873c1974a9f810a7c368c93578b2711d87c
1 file changed
+50
unixfs/io/dirbuilder_test.go
new
+50
@@ -0,0 +1,50 @@
1
+package io
2
+
3
+import (
4
+ "context"
5
+ "io/ioutil"
6
+ "testing"
7
+
8
+ testu "github.com/ipfs/go-ipfs/unixfs/test"
9
+)
10
+
11
+func TestEmptyNode(t *testing.T) {
12
+ n := NewEmptyDirectory()
13
+ if len(n.Links) != 0 {
14
+ t.Fatal("empty node should have 0 links")
15
+ }
16
+}
17
+
18
+func TestDirBuilder(t *testing.T) {
19
+ dserv := testu.GetDAGServ()
20
+ ctx, closer := context.WithCancel(context.Background())
21
+ defer closer()
22
+ inbuf, node := testu.GetRandomNode(t, dserv, 1024)
23
+ key := node.Cid()
24
+
25
+ b := NewDirectory(dserv)
26
+
27
+ b.AddChild(ctx, "random", key)
28
+
29
+ dir := b.GetNode()
30
+ outn, err := dir.GetLinkedNode(ctx, dserv, "random")
31
+ if err != nil {
32
+ t.Fatal(err)
33
+ }
34
+
35
+ reader, err := NewDagReader(ctx, outn, dserv)
36
+ if err != nil {
37
+ t.Fatal(err)
38
+ }
39
+
40
+ outbuf, err := ioutil.ReadAll(reader)
41
+ if err != nil {
42
+ t.Fatal(err)
43
+ }
44
+
45
+ err = testu.ArrComp(inbuf, outbuf)
46
+ if err != nil {
47
+ t.Fatal(err)
48
+ }
49
+
50
+}