func mustReceive(t *testing.T, dst blobserver.Storage, tb *test.Blob) blob.SizedRef { tbRef := tb.BlobRef() sb, err := blobserver.Receive(dst, tbRef, tb.Reader()) if err != nil { t.Fatalf("Receive: %v", err) } if int(sb.Size) != len(tb.Contents) { t.Fatalf("size = %d; want %d", sb.Size, len(tb.Contents)) } if sb.Ref != tbRef { t.Fatal("wrong blob received") } return sb }
// checkShard iterates through shards and find the blob. error if it is not found in expectShard, found somewhere else, or not found at all func (sto testStorage) checkShard(b *test.Blob, expectShard int) { for shardN, shard := range sto.shards { _, _, err := shard.Fetch(b.BlobRef()) if err != nil && shardN == expectShard { sto.t.Errorf("expected ref %v in shard %d, but didn't find it there", b.BlobRef(), expectShard) continue } if err != nil { // node wasn't found here, as expected continue } if shardN != expectShard { sto.t.Errorf("found ref %v in shard %d, expected in shard %d", b.BlobRef(), shardN, expectShard) } // node was found, and we expected it } }
func part(blob *test.Blob, offset, size uint64) *BytesPart { return &BytesPart{BlobRef: blob.BlobRef(), Size: size, Offset: offset} }