(t *testing.T)
| 1477 | } |
| 1478 | |
| 1479 | func TestUploadChunked_RetriesSessionStart(t *testing.T) { |
| 1480 | stubRetrySleep(t) |
| 1481 | startCalls := 0 |
| 1482 | var appendCalls int |
| 1483 | var finishCalled bool |
| 1484 | mock := &mockFilesClient{ |
| 1485 | uploadSessionStartFn: func(arg *files.UploadSessionStartArg, content io.Reader) (*files.UploadSessionStartResult, error) { |
| 1486 | startCalls++ |
| 1487 | if startCalls < 3 { |
| 1488 | return nil, dbxauth.ServerError{APIError: dropbox.APIError{ErrorSummary: "500"}} |
| 1489 | } |
| 1490 | return &files.UploadSessionStartResult{SessionId: "test-session"}, nil |
| 1491 | }, |
| 1492 | uploadSessionAppendV2Fn: func(arg *files.UploadSessionAppendArg, content io.Reader) error { |
| 1493 | appendCalls++ |
| 1494 | return nil |
| 1495 | }, |
| 1496 | uploadSessionFinishFn: func(arg *files.UploadSessionFinishArg, content io.Reader) (*files.FileMetadata, error) { |
| 1497 | finishCalled = true |
| 1498 | return &files.FileMetadata{}, nil |
| 1499 | }, |
| 1500 | } |
| 1501 | |
| 1502 | data := bytes.Repeat([]byte("x"), 1024) |
| 1503 | reader := bytes.NewReader(data) |
| 1504 | commitInfo := files.NewCommitInfo("/test.txt") |
| 1505 | |
| 1506 | _, err := uploadChunked(mock, reader, commitInfo, int64(len(data)), 1, 512, false) |
| 1507 | if err != nil { |
| 1508 | t.Errorf("expected nil error, got %v", err) |
| 1509 | } |
| 1510 | if startCalls != 3 { |
| 1511 | t.Errorf("expected 3 session start calls, got %d", startCalls) |
| 1512 | } |
| 1513 | if appendCalls != 2 { |
| 1514 | t.Errorf("expected 2 append calls, got %d", appendCalls) |
| 1515 | } |
| 1516 | if !finishCalled { |
| 1517 | t.Error("expected finish to be called") |
| 1518 | } |
| 1519 | } |
| 1520 | |
| 1521 | func TestUploadChunked_RetriesFinishTooManyWriteOperations(t *testing.T) { |
| 1522 | stubRetrySleep(t) |
nothing calls this directly
no test coverage detected