github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/storage/tsdb/testutil/objstore.go (about)

     1  package testutil
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/require"
     9  	"github.com/thanos-io/thanos/pkg/objstore"
    10  
    11  	"github.com/cortexproject/cortex/pkg/storage/bucket/filesystem"
    12  )
    13  
    14  func PrepareFilesystemBucket(t testing.TB) (objstore.Bucket, string) {
    15  	storageDir, err := ioutil.TempDir(os.TempDir(), "bucket")
    16  	require.NoError(t, err)
    17  
    18  	t.Cleanup(func() {
    19  		require.NoError(t, os.RemoveAll(storageDir))
    20  	})
    21  
    22  	bkt, err := filesystem.NewBucketClient(filesystem.Config{Directory: storageDir})
    23  	require.NoError(t, err)
    24  
    25  	return objstore.BucketWithMetrics("test", bkt, nil), storageDir
    26  }