(t *testing.T)
| 447 | } |
| 448 | |
| 449 | func 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 { |
nothing calls this directly
no test coverage detected
searching dependent graphs…