test: add metadata node testcase to dagreader.go
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Aug 21, 2016 at 01:11 UTC
86942c896939a463473726ad3c904d390acafc28
1 file changed
+40
unixfs/io/dagreader_test.go
+40
@@ -3,6 +3,7 @@ package io
3
import (
4
"io/ioutil"
5
"os"
6
+ "strings"
7
"testing"
8
9
mdag "github.com/ipfs/go-ipfs/merkledag"
@@ -154,7 +155,46 @@ func TestBadPBData(t *testing.T) {
155
if err == nil {
156
t.Fatal("excepted error, got nil")
157
}
158
+}
159
+
160
+func TestMetadataNode(t *testing.T) {
161
+ dserv := testu.GetDAGServ()
162
+ rdata, rnode := testu.GetRandomNode(t, dserv, 512)
163
+ _, err := dserv.Add(rnode)
164
+ if err != nil {
165
+ t.Fatal(err)
166
+ }
167
+
168
+ ctx, closer := context.WithCancel(context.Background())
169
+ defer closer()
170
171
+ data, err := unixfs.BytesForMetadata(&unixfs.Metadata{"text", 125})
172
+ if err != nil {
173
+ t.Fatal(err)
174
+ }
175
+ node := mdag.NodeWithData(data)
176
+
177
+ _, err = NewDagReader(ctx, node, dserv)
178
+ if err == nil {
179
+ t.Fatal("expected an error")
180
+ }
181
+ if !strings.Contains(err.Error(), "incorrectly formatted") {
182
+ t.Fatal("expected different error")
183
+ }
184
+
185
+ node.AddNodeLink("", rnode)
186
+
187
+ reader, err := NewDagReader(ctx, node, dserv)
188
+ if err != nil {
189
+ t.Fatal(err)
190
+ }
191
+ readdata, err := ioutil.ReadAll(reader)
192
+ if err != nil {
193
+ t.Fatal(err)
194
+ }
195
+ if err := testu.ArrComp(rdata, readdata); err != nil {
196
+ t.Fatal(err)
197
+ }
198
}
199
200
func readByte(t testing.TB, reader *DagReader) byte {