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 }