github.com/nutsdb/nutsdb@v1.0.4/options_test.go (about) 1 package nutsdb 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestWithNodeNum(t *testing.T) { 10 InitOpt("", true) 11 db, err := Open( 12 opt, 13 WithNodeNum(1011), 14 ) 15 assert.NoError(t, err) 16 assert.Equal(t, int64(1011), db.opt.NodeNum) 17 err = db.Close() 18 assert.NoError(t, err) 19 } 20 21 func TestWithMaxBatchCount(t *testing.T) { 22 InitOpt("", true) 23 db, err := Open( 24 opt, 25 WithMaxBatchCount(10), 26 ) 27 assert.NoError(t, err) 28 assert.Equal(t, int64(10), db.getMaxBatchCount()) 29 err = db.Close() 30 assert.NoError(t, err) 31 } 32 33 func TestWithMaxBatchSize(t *testing.T) { 34 InitOpt("", true) 35 db, err := Open( 36 opt, 37 WithMaxBatchSize(100), 38 ) 39 assert.NoError(t, err) 40 assert.Equal(t, int64(100), db.getMaxBatchSize()) 41 err = db.Close() 42 assert.NoError(t, err) 43 } 44 45 func TestWithHintKeyAndRAMIdxCacheSize(t *testing.T) { 46 InitOpt("", true) 47 db, err := Open( 48 opt, 49 WithHintKeyAndRAMIdxCacheSize(100), 50 ) 51 assert.NoError(t, err) 52 assert.Equal(t, 100, db.getHintKeyAndRAMIdxCacheSize()) 53 err = db.Close() 54 assert.NoError(t, err) 55 } 56 57 func TestWithMaxWriteRecordCount(t *testing.T) { 58 InitOpt("", true) 59 db, err := Open( 60 opt, 61 WithMaxWriteRecordCount(100), 62 ) 63 assert.NoError(t, err) 64 assert.Equal(t, int64(100), db.getMaxWriteRecordCount()) 65 err = db.Close() 66 assert.NoError(t, err) 67 } 68 69 func TestWithRWMode(t *testing.T) { 70 db, err = Open(DefaultOptions, 71 WithDir("/tmp/nutsdb"), 72 WithRWMode(MMap), 73 ) 74 assert.NoError(t, err) 75 assert.Equal(t, db.opt.RWMode, MMap) 76 err = db.Close() 77 assert.NoError(t, err) 78 } 79 80 func TestWithSyncEnable(t *testing.T) { 81 db, err = Open(DefaultOptions, 82 WithDir("/tmp/nutsdb"), 83 WithSyncEnable(false), 84 ) 85 86 assert.NoError(t, err) 87 assert.False(t, db.opt.SyncEnable) 88 89 err = db.Close() 90 assert.NoError(t, err) 91 } 92 93 func TestWithMaxFdNumsInCache(t *testing.T) { 94 db, err = Open(DefaultOptions, 95 WithDir("/tmp/nutsdb"), 96 WithMaxFdNumsInCache(100), 97 ) 98 99 assert.NoError(t, err) 100 assert.Equal(t, db.opt.MaxFdNumsInCache, 100) 101 102 err = db.Close() 103 assert.NoError(t, err) 104 } 105 106 func TestWithCleanFdsCacheThreshold(t *testing.T) { 107 db, err = Open(DefaultOptions, 108 WithDir("/tmp/nutsdb"), 109 WithCleanFdsCacheThreshold(0.5), 110 ) 111 112 assert.NoError(t, err) 113 assert.Equal(t, db.opt.CleanFdsCacheThreshold, 0.5) 114 115 err = db.Close() 116 assert.NoError(t, err) 117 } 118 119 func TestWithErrorHandler(t *testing.T) { 120 db, err = Open(DefaultOptions, 121 WithDir("/tmp/nutsdb"), 122 WithErrorHandler(ErrorHandlerFunc(func(err error) { 123 })), 124 ) 125 assert.NoError(t, err) 126 assert.NotNil(t, db.opt.ErrorHandler) 127 128 err = db.Close() 129 assert.NoError(t, err) 130 } 131 132 func TestWithLessFunc(t *testing.T) { 133 db, err = Open(DefaultOptions, 134 WithDir("/tmp/nutsdb"), 135 WithLessFunc(func(l, r string) bool { 136 return len(l) < len(r) 137 }), 138 ) 139 assert.NoError(t, err) 140 assert.NotNil(t, db.opt.LessFunc) 141 142 err = db.Close() 143 assert.NoError(t, err) 144 }