@cryptotaxi247 / kubo / commits / b699e71c0

test: add invialid protobuf data testcase to dagreader

License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Aug 21, 2016 at 00:52 UTC b699e71c0b4c416f35f9782f5fb444341ae5e19e
2 files changed +14 -1
unixfs/io/dagreader.go
+1 -1
@@ -131,7 +131,7 @@ func (dr *DagReader) precalcNextBuf(ctx context.Context) error {
131 dr.buf = NewRSNCFromBytes(pb.GetData())
132 return nil
133 case ftpb.Data_Metadata:
134 - return errors.New("Shouldnt have had metadata object inside file")
134 + return errors.New("shouldnt have had metadata object inside file")
135 case ftpb.Data_Symlink:
136 return errors.New("shouldnt have had symlink inside file")
137 default:
unixfs/io/dagreader_test.go
+13
@@ -144,6 +144,19 @@ func TestTypeFailures(t *testing.T) {
144 }
145 }
146
147 +func TestBadPBData(t *testing.T) {
148 + dserv := testu.GetDAGServ()
149 + ctx, closer := context.WithCancel(context.Background())
150 + defer closer()
151 +
152 + node := mdag.NodeWithData([]byte{42})
153 + _, err := NewDagReader(ctx, node, dserv)
154 + if err == nil {
155 + t.Fatal("excepted error, got nil")
156 + }
157 +
158 +}
159 +
160 func readByte(t testing.TB, reader *DagReader) byte {
161 out := make([]byte, 1)
162 c, err := reader.Read(out)