MCPcopy Create free account
hub / github.com/dropbox/dbxcli / TestUploadChunked_RetriesSessionStart

Function TestUploadChunked_RetriesSessionStart

cmd/put_test.go:1479–1519  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1477}
1478
1479func 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
1521func TestUploadChunked_RetriesFinishTooManyWriteOperations(t *testing.T) {
1522 stubRetrySleep(t)

Callers

nothing calls this directly

Calls 3

stubRetrySleepFunction · 0.85
uploadChunkedFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected