Add test for FileStore.ConcatUploads
This commit is contained in:
parent
bf4762ffd5
commit
ff11b6a274
|
@ -86,3 +86,53 @@ func TestFileLocker(t *testing.T) {
|
|||
a.NoError(locker.UnlockUpload("one"))
|
||||
a.NoError(locker.UnlockUpload("one"))
|
||||
}
|
||||
|
||||
func TestConcatUploads(t *testing.T) {
|
||||
a := assert.New(t)
|
||||
|
||||
tmp, err := ioutil.TempDir("", "tusd-filestore-concat-")
|
||||
a.NoError(err)
|
||||
|
||||
store := FileStore{tmp}
|
||||
|
||||
// Create new upload to hold concatenated upload
|
||||
finId, err := store.NewUpload(tusd.FileInfo{Size: 9})
|
||||
a.NoError(err)
|
||||
a.NotEqual("", finId)
|
||||
|
||||
// Create three uploads for concatenating
|
||||
ids := make([]string, 3)
|
||||
contents := []string{
|
||||
"abc",
|
||||
"def",
|
||||
"ghi",
|
||||
}
|
||||
for i := 0; i < 3; i++ {
|
||||
id, err := store.NewUpload(tusd.FileInfo{Size: 3})
|
||||
a.NoError(err)
|
||||
|
||||
n, err := store.WriteChunk(id, 0, strings.NewReader(contents[i]))
|
||||
a.NoError(err)
|
||||
a.EqualValues(3, n)
|
||||
|
||||
ids[i] = id
|
||||
}
|
||||
|
||||
err = store.ConcatUploads(finId, ids)
|
||||
a.NoError(err)
|
||||
|
||||
// Check offset
|
||||
info, err := store.GetInfo(finId)
|
||||
a.NoError(err)
|
||||
a.EqualValues(9, info.Size)
|
||||
a.EqualValues(9, info.Offset)
|
||||
|
||||
// Read content
|
||||
reader, err := store.GetReader(finId)
|
||||
a.NoError(err)
|
||||
|
||||
content, err := ioutil.ReadAll(reader)
|
||||
a.NoError(err)
|
||||
a.Equal("abcdefghi", string(content))
|
||||
reader.(io.Closer).Close()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue