github.com/grafana/pyroscope@v1.18.0/pkg/objstore/testutil/objstore.go (about)

     1  // SPDX-License-Identifier: AGPL-3.0-only
     2  // Provenance-includes-location: https://github.com/cortexproject/cortex/blob/master/pkg/storage/tsdb/testutil/objstore.go
     3  // Provenance-includes-license: Apache-2.0
     4  // Provenance-includes-copyright: The Cortex Authors.
     5  
     6  package testutil
     7  
     8  import (
     9  	"context"
    10  	"testing"
    11  
    12  	"github.com/stretchr/testify/require"
    13  
    14  	"github.com/grafana/pyroscope/pkg/objstore"
    15  	"github.com/grafana/pyroscope/pkg/objstore/client"
    16  	"github.com/grafana/pyroscope/pkg/objstore/providers/filesystem"
    17  )
    18  
    19  func NewFilesystemBucket(t testing.TB, ctx context.Context, storageDir string) (objstore.Bucket, string) {
    20  	bkt, err := client.NewBucket(ctx, client.Config{
    21  		StorageBackendConfig: client.StorageBackendConfig{
    22  			Backend: client.Filesystem,
    23  			Filesystem: filesystem.Config{
    24  				Directory: storageDir,
    25  			},
    26  		},
    27  	}, "test")
    28  	require.NoError(t, err)
    29  
    30  	return bkt, storageDir
    31  }