(t *testing.T)
| 533 | } |
| 534 | |
| 535 | func TestInternalNotifyCreatesEmptyParts(t *testing.T) { |
| 536 | id := fmt.Sprintf("tincep%v", time.Now().Unix()) |
| 537 | rootFs, boltDb := runInstance.newCacheFs(t, remoteName, id, false, true, nil) |
| 538 | if !runInstance.wrappedIsExternal { |
| 539 | t.Skipf("Not external") |
| 540 | } |
| 541 | cfs, err := runInstance.getCacheFs(rootFs) |
| 542 | require.NoError(t, err) |
| 543 | |
| 544 | srcName := runInstance.encryptRemoteIfNeeded(t, "test") + "/" + runInstance.encryptRemoteIfNeeded(t, "one") + "/" + runInstance.encryptRemoteIfNeeded(t, "test") |
| 545 | dstName := runInstance.encryptRemoteIfNeeded(t, "test") + "/" + runInstance.encryptRemoteIfNeeded(t, "one") + "/" + runInstance.encryptRemoteIfNeeded(t, "test2") |
| 546 | // create some rand test data |
| 547 | var testData []byte |
| 548 | if runInstance.rootIsCrypt { |
| 549 | testData, err = base64.StdEncoding.DecodeString(cryptedTextBase64) |
| 550 | require.NoError(t, err) |
| 551 | } else { |
| 552 | testData = []byte("test content") |
| 553 | } |
| 554 | err = rootFs.Mkdir(context.Background(), "test") |
| 555 | require.NoError(t, err) |
| 556 | err = rootFs.Mkdir(context.Background(), "test/one") |
| 557 | require.NoError(t, err) |
| 558 | srcObj := runInstance.writeObjectBytes(t, cfs.UnWrap(), srcName, testData) |
| 559 | |
| 560 | // list in mount |
| 561 | _, err = runInstance.list(t, rootFs, "test") |
| 562 | require.NoError(t, err) |
| 563 | _, err = runInstance.list(t, rootFs, "test/one") |
| 564 | require.NoError(t, err) |
| 565 | |
| 566 | found := boltDb.HasEntry(path.Join(cfs.Root(), runInstance.encryptRemoteIfNeeded(t, "test"))) |
| 567 | require.True(t, found) |
| 568 | boltDb.Purge() |
| 569 | found = boltDb.HasEntry(path.Join(cfs.Root(), runInstance.encryptRemoteIfNeeded(t, "test"))) |
| 570 | require.False(t, found) |
| 571 | |
| 572 | // move file |
| 573 | _, err = cfs.UnWrap().Features().Move(context.Background(), srcObj, dstName) |
| 574 | require.NoError(t, err) |
| 575 | |
| 576 | err = runInstance.retryBlock(func() error { |
| 577 | found = boltDb.HasEntry(path.Join(cfs.Root(), runInstance.encryptRemoteIfNeeded(t, "test"))) |
| 578 | if !found { |
| 579 | fs.Logf(nil, "not found /test") |
| 580 | return fmt.Errorf("not found /test") |
| 581 | } |
| 582 | found = boltDb.HasEntry(path.Join(cfs.Root(), runInstance.encryptRemoteIfNeeded(t, "test"), runInstance.encryptRemoteIfNeeded(t, "one"))) |
| 583 | if !found { |
| 584 | fs.Logf(nil, "not found /test/one") |
| 585 | return fmt.Errorf("not found /test/one") |
| 586 | } |
| 587 | found = boltDb.HasEntry(path.Join(cfs.Root(), runInstance.encryptRemoteIfNeeded(t, "test"), runInstance.encryptRemoteIfNeeded(t, "one"), runInstance.encryptRemoteIfNeeded(t, "test2"))) |
| 588 | if !found { |
| 589 | fs.Logf(nil, "not found /test/one/test2") |
| 590 | return fmt.Errorf("not found /test/one/test2") |
| 591 | } |
| 592 | li, err := runInstance.list(t, rootFs, "test/one") |
nothing calls this directly
no test coverage detected
searching dependent graphs…