Adding test for partial objects

This commit is contained in:
Frederick F. Kautz IV
2015-03-31 19:06:05 -07:00
parent 376dc30428
commit 959d90fcf7
4 changed files with 107 additions and 26 deletions

View File

@@ -6,6 +6,8 @@ import "github.com/stretchr/testify/mock"
import (
"bytes"
"io"
"github.com/minio-io/iodine"
)
// Driver is a mock
@@ -56,7 +58,7 @@ func (m *Driver) GetBucketPolicy(bucket string) (drivers.BucketPolicy, error) {
// SetGetObjectWriter is a mock
func (m *Driver) SetGetObjectWriter(bucket, object string, data []byte) {
m.ObjectWriterData[bucket+":"+object] = data
println(string(m.ObjectWriterData["bucket:object"]))
// println(string(m.ObjectWriterData["bucket:object"]))
}
// GetObject is a mock
@@ -81,6 +83,17 @@ func (m *Driver) GetPartialObject(w io.Writer, bucket string, object string, sta
r0 := ret.Get(0).(int64)
r1 := ret.Error(1)
if r1 == nil {
if obj, ok := m.ObjectWriterData[bucket+":"+object]; ok {
source := bytes.NewBuffer(obj)
var nilSink bytes.Buffer
io.CopyN(&nilSink, source, start)
n, _ := io.CopyN(w, source, length)
r0 = n
}
}
r1 = iodine.New(r1, nil)
return r0, r1
}