github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/storage/bucket/bucket_util_test.go (about)

     1  package bucket
     2  
     3  import (
     4  	"context"
     5  	"strings"
     6  	"testing"
     7  
     8  	"github.com/go-kit/log"
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/stretchr/testify/require"
    11  	"github.com/thanos-io/thanos/pkg/objstore"
    12  )
    13  
    14  func TestDeletePrefix(t *testing.T) {
    15  	mem := objstore.NewInMemBucket()
    16  
    17  	require.NoError(t, mem.Upload(context.Background(), "obj", strings.NewReader("hello")))
    18  	require.NoError(t, mem.Upload(context.Background(), "prefix/1", strings.NewReader("hello")))
    19  	require.NoError(t, mem.Upload(context.Background(), "prefix/2", strings.NewReader("hello")))
    20  	require.NoError(t, mem.Upload(context.Background(), "prefix/sub1/3", strings.NewReader("hello")))
    21  	require.NoError(t, mem.Upload(context.Background(), "prefix/sub2/4", strings.NewReader("hello")))
    22  	require.NoError(t, mem.Upload(context.Background(), "outside/obj", strings.NewReader("hello")))
    23  
    24  	del, err := DeletePrefix(context.Background(), mem, "prefix", log.NewNopLogger())
    25  	require.NoError(t, err)
    26  	assert.Equal(t, 4, del)
    27  	assert.Equal(t, 2, len(mem.Objects()))
    28  }