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  }