[#256] blobovniczaTree: Make `Exists` test stable
ci/woodpecker/pr/pre-commit Pipeline was successful Details
ci/woodpecker/push/pre-commit Pipeline was successful Details

Corrupt and request _the same_ file.

Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
pull/256/head
Pavel Karpy 2023-04-14 16:42:20 +03:00
parent 0b42a00a60
commit 262c9c2b93
1 changed files with 6 additions and 7 deletions

View File

@ -50,16 +50,15 @@ func TestExistsInvalidStorageID(t *testing.T) {
require.False(t, res.Exists)
})
t.Run("invalid storage id", func(t *testing.T) {
storageID := slice.Copy(putRes.StorageID)
storageID[0] = '9'
t.Run("valid id but corrupted file", func(t *testing.T) {
relBadFileDir := filepath.Join("9", "0")
badFileName := "0"
// An invalid boltdb file is created so that it returns an error when opened
badFileDir := filepath.Join(dir, "9", "0")
require.NoError(t, os.MkdirAll(badFileDir, os.ModePerm))
require.NoError(t, os.WriteFile(filepath.Join(badFileDir, "0"), []byte("not a boltdb file content"), 0777))
require.NoError(t, os.MkdirAll(filepath.Join(dir, relBadFileDir), os.ModePerm))
require.NoError(t, os.WriteFile(filepath.Join(dir, relBadFileDir, badFileName), []byte("not a boltdb file content"), 0777))
res, err := b.Exists(context.Background(), common.ExistsPrm{Address: addr, StorageID: storageID})
res, err := b.Exists(context.Background(), common.ExistsPrm{Address: addr, StorageID: []byte(filepath.Join(relBadFileDir, badFileName))})
require.Error(t, err)
require.False(t, res.Exists)
})