@cryptotaxi247 / kubo / commits / 86942c896

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 {