github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/graveler/ref/main_test.go (about)

     1  package ref_test
     2  
     3  import (
     4  	"context"
     5  	"flag"
     6  	"os"
     7  	"testing"
     8  	"time"
     9  
    10  	"github.com/treeverse/lakefs/pkg/batch"
    11  	"github.com/treeverse/lakefs/pkg/graveler"
    12  	"github.com/treeverse/lakefs/pkg/graveler/ref"
    13  	"github.com/treeverse/lakefs/pkg/ident"
    14  	"github.com/treeverse/lakefs/pkg/kv"
    15  	"github.com/treeverse/lakefs/pkg/kv/kvtest"
    16  	"github.com/treeverse/lakefs/pkg/logging"
    17  	"go.uber.org/ratelimit"
    18  )
    19  
    20  var (
    21  	testRepoCacheConfig = ref.CacheConfig{
    22  		Size:   1000,
    23  		Expiry: 20 * time.Millisecond,
    24  	}
    25  
    26  	testCommitCacheConfig = ref.CacheConfig{
    27  		Size:   5000,
    28  		Expiry: 20 * time.Millisecond,
    29  	}
    30  )
    31  
    32  func testRefManager(t testing.TB) (graveler.RefManager, kv.Store) {
    33  	t.Helper()
    34  	ctx := context.Background()
    35  	kvStore := kvtest.GetStore(ctx, t)
    36  	cfg := ref.ManagerConfig{
    37  		Executor:              batch.NopExecutor(),
    38  		KVStore:               kvStore,
    39  		KVStoreLimited:        kv.NewStoreLimiter(kvStore, ratelimit.NewUnlimited()),
    40  		AddressProvider:       ident.NewHexAddressProvider(),
    41  		RepositoryCacheConfig: testRepoCacheConfig,
    42  		CommitCacheConfig:     testCommitCacheConfig,
    43  	}
    44  	return ref.NewRefManager(cfg), kvStore
    45  }
    46  
    47  func testRefManagerWithAddressProvider(t testing.TB, addressProvider ident.AddressProvider) (graveler.RefManager, kv.Store) {
    48  	t.Helper()
    49  	ctx := context.Background()
    50  	kvStore := kvtest.GetStore(ctx, t)
    51  	cfg := ref.ManagerConfig{
    52  		Executor:              batch.NopExecutor(),
    53  		KVStore:               kvStore,
    54  		AddressProvider:       addressProvider,
    55  		RepositoryCacheConfig: testRepoCacheConfig,
    56  		CommitCacheConfig:     testCommitCacheConfig,
    57  	}
    58  	return ref.NewRefManager(cfg), kvStore
    59  }
    60  
    61  func TestMain(m *testing.M) {
    62  	flag.Parse()
    63  	if !testing.Verbose() {
    64  		// keep the log level calm
    65  		logging.SetLevel("panic")
    66  	}
    67  
    68  	code := m.Run()
    69  	os.Exit(code)
    70  }