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)