提交 8c7d0754 编写于 作者: H HFO4

Fix: repeated return of capacity when OneDrive WebDAV upload canceled

上级 46743f3c
Subproject commit 15a7805c2e1dc90a4c92c8165ce44d0f315a5d39 Subproject commit f544486b6ae2440df197630601b1827ed6977c0b
...@@ -216,9 +216,6 @@ func (client *Client) Upload(ctx context.Context, dst string, size int, file io. ...@@ -216,9 +216,6 @@ func (client *Client) Upload(ctx context.Context, dst string, size int, file io.
// 因为后面需要错误重试,这里要把分片内容读到内存中 // 因为后面需要错误重试,这里要把分片内容读到内存中
chunkContent := chunkData[:chunkSize] chunkContent := chunkData[:chunkSize]
_, err := io.ReadFull(file, chunkContent) _, err := io.ReadFull(file, chunkContent)
if err != nil {
return err
}
chunk := Chunk{ chunk := Chunk{
Offset: offset, Offset: offset,
......
...@@ -506,55 +506,6 @@ func TestClient_Upload(t *testing.T) { ...@@ -506,55 +506,6 @@ func TestClient_Upload(t *testing.T) {
asserts.Error(err) 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() client.Credential.ExpiresIn = time.Now().Add(time.Duration(100) * time.Hour).Unix()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册