MCPcopy
hub / github.com/rclone/rclone / TestInternalMoveWithNotify

Function TestInternalMoveWithNotify

backend/cache/cache_internal_test.go:449–533  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

447}
448
449func TestInternalMoveWithNotify(t *testing.T) {
450 id := fmt.Sprintf("timwn%v", time.Now().Unix())
451 rootFs, _ := runInstance.newCacheFs(t, remoteName, id, false, true, nil)
452 if !runInstance.wrappedIsExternal {
453 t.Skipf("Not external")
454 }
455
456 cfs, err := runInstance.getCacheFs(rootFs)
457 require.NoError(t, err)
458
459 srcName := runInstance.encryptRemoteIfNeeded(t, "test") + "/" + runInstance.encryptRemoteIfNeeded(t, "one") + "/" + runInstance.encryptRemoteIfNeeded(t, "data.bin")
460 dstName := runInstance.encryptRemoteIfNeeded(t, "test") + "/" + runInstance.encryptRemoteIfNeeded(t, "second") + "/" + runInstance.encryptRemoteIfNeeded(t, "data.bin")
461 // create some rand test data
462 var testData []byte
463 if runInstance.rootIsCrypt {
464 testData, err = base64.StdEncoding.DecodeString(cryptedTextBase64)
465 require.NoError(t, err)
466 } else {
467 testData = []byte("test content")
468 }
469 _ = cfs.UnWrap().Mkdir(context.Background(), runInstance.encryptRemoteIfNeeded(t, "test"))
470 _ = cfs.UnWrap().Mkdir(context.Background(), runInstance.encryptRemoteIfNeeded(t, "test/one"))
471 _ = cfs.UnWrap().Mkdir(context.Background(), runInstance.encryptRemoteIfNeeded(t, "test/second"))
472 srcObj := runInstance.writeObjectBytes(t, cfs.UnWrap(), srcName, testData)
473
474 // list in mount
475 _, err = runInstance.list(t, rootFs, "test")
476 require.NoError(t, err)
477 _, err = runInstance.list(t, rootFs, "test/one")
478 require.NoError(t, err)
479
480 // move file
481 _, err = cfs.UnWrap().Features().Move(context.Background(), srcObj, dstName)
482 require.NoError(t, err)
483
484 err = runInstance.retryBlock(func() error {
485 li, err := runInstance.list(t, rootFs, "test")
486 if err != nil {
487 fs.Logf(nil, "err: %v", err)
488 return err
489 }
490 if len(li) != 2 {
491 fs.Logf(nil, "not expected listing /test: %v", li)
492 return fmt.Errorf("not expected listing /test: %v", li)
493 }
494
495 li, err = runInstance.list(t, rootFs, "test/one")
496 if err != nil {
497 fs.Logf(nil, "err: %v", err)
498 return err
499 }
500 if len(li) != 0 {
501 fs.Logf(nil, "not expected listing /test/one: %v", li)
502 return fmt.Errorf("not expected listing /test/one: %v", li)
503 }
504
505 li, err = runInstance.list(t, rootFs, "test/second")
506 if err != nil {

Callers

nothing calls this directly

Calls 15

LogfFunction · 0.92
newCacheFsMethod · 0.80
getCacheFsMethod · 0.80
encryptRemoteIfNeededMethod · 0.80
writeObjectBytesMethod · 0.80
retryBlockMethod · 0.80
DecodeStringMethod · 0.65
MkdirMethod · 0.65
UnWrapMethod · 0.65
MoveMethod · 0.65
FeaturesMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…