Fix: repeated return of capacity when OneDrive WebDAV upload canceled
This commit is contained in:
parent
46743f3c1e
commit
8c7d075484
3 changed files with 1 additions and 53 deletions
2
assets
2
assets
|
@ -1 +1 @@
|
|||
Subproject commit 15a7805c2e1dc90a4c92c8165ce44d0f315a5d39
|
||||
Subproject commit f544486b6ae2440df197630601b1827ed6977c0b
|
|
@ -216,9 +216,6 @@ func (client *Client) Upload(ctx context.Context, dst string, size int, file io.
|
|||
// 因为后面需要错误重试,这里要把分片内容读到内存中
|
||||
chunkContent := chunkData[:chunkSize]
|
||||
_, err := io.ReadFull(file, chunkContent)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chunk := Chunk{
|
||||
Offset: offset,
|
||||
|
|
|
@ -506,55 +506,6 @@ func TestClient_Upload(t *testing.T) {
|
|||
asserts.Error(err)
|
||||
}
|
||||
|
||||
// 大文件 分两个分片 ,reader 返回EOF
|
||||
{
|
||||
client.Credential.ExpiresIn = time.Now().Add(time.Duration(100) * time.Hour).Unix()
|
||||
clientMock := ClientMock{}
|
||||
clientMock.On(
|
||||
"Request",
|
||||
"POST",
|
||||
testMock.Anything,
|
||||
testMock.Anything,
|
||||
testMock.Anything,
|
||||
).Return(&request.Response{
|
||||
Err: nil,
|
||||
Response: &http.Response{
|
||||
StatusCode: 200,
|
||||
Body: ioutil.NopCloser(strings.NewReader(`{"uploadUrl":"123321"}`)),
|
||||
},
|
||||
})
|
||||
client.Request = clientMock
|
||||
|
||||
err := client.Upload(context.Background(), "123.jpg", 15*1024*1024, strings.NewReader("123"))
|
||||
clientMock.AssertExpectations(t)
|
||||
asserts.Error(err)
|
||||
}
|
||||
|
||||
// 大文件 分两个分片 失败
|
||||
{
|
||||
cache.Set("setting_onedrive_chunk_retries", "0", 0)
|
||||
client.Credential.ExpiresIn = time.Now().Add(time.Duration(100) * time.Hour).Unix()
|
||||
clientMock := ClientMock{}
|
||||
clientMock.On(
|
||||
"Request",
|
||||
"POST",
|
||||
testMock.Anything,
|
||||
testMock.Anything,
|
||||
testMock.Anything,
|
||||
).Return(&request.Response{
|
||||
Err: nil,
|
||||
Response: &http.Response{
|
||||
StatusCode: 200,
|
||||
Body: ioutil.NopCloser(strings.NewReader(`{"uploadUrl":"123321"}`)),
|
||||
},
|
||||
})
|
||||
client.Request = clientMock
|
||||
|
||||
err := client.Upload(context.Background(), "123.jpg", 15*1024*1024, strings.NewReader("123"))
|
||||
clientMock.AssertExpectations(t)
|
||||
asserts.Error(err)
|
||||
}
|
||||
|
||||
// 上下文取消
|
||||
{
|
||||
client.Credential.ExpiresIn = time.Now().Add(time.Duration(100) * time.Hour).Unix()
|
||||
|
|
Loading…
Reference in a new issue