forked from TrueCloudLab/rclone
vfs: add test for writeBack.cancelUpload
This commit is contained in:
parent
ef2d036884
commit
ed32a759ed
1 changed files with 32 additions and 0 deletions
|
@ -573,3 +573,35 @@ func TestWriteBackRemove(t *testing.T) {
|
|||
checkNotInLookup(t, wb, wbItem)
|
||||
assert.True(t, pi2.cancelled)
|
||||
}
|
||||
|
||||
func TestWriteBackCancelUpload(t *testing.T) {
|
||||
wb, cancel := newTestWriteBack(t)
|
||||
defer cancel()
|
||||
|
||||
item := &Item{}
|
||||
|
||||
// cancel when not in writeback
|
||||
assert.False(t, wb.cancelUpload(item))
|
||||
|
||||
// add item
|
||||
pi := newPutItem(t)
|
||||
wbItem := wb.add(item, "one", true, pi.put)
|
||||
checkOnHeap(t, wb, wbItem)
|
||||
checkInLookup(t, wb, wbItem)
|
||||
|
||||
// cancel when not uploading
|
||||
assert.False(t, wb.cancelUpload(item))
|
||||
checkOnHeap(t, wb, wbItem)
|
||||
checkInLookup(t, wb, wbItem)
|
||||
|
||||
// wait for upload to start
|
||||
<-pi.started
|
||||
checkNotOnHeap(t, wb, wbItem)
|
||||
checkInLookup(t, wb, wbItem)
|
||||
|
||||
// cancel when uploading
|
||||
assert.True(t, wb.cancelUpload(item))
|
||||
checkOnHeap(t, wb, wbItem)
|
||||
checkInLookup(t, wb, wbItem)
|
||||
assert.True(t, pi.cancelled)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue