(t *testing.T)
| 43 | } |
| 44 | |
| 45 | func TestBucketManager_Recovery(t *testing.T) { |
| 46 | r := require.New(t) |
| 47 | dir := filepath.Join(t.TempDir(), "nutsdb_test_data") |
| 48 | const bucket1 = "bucket_1" |
| 49 | const bucket2 = "bucket_2" |
| 50 | db, err := Open(DefaultOptions, WithDir(dir)) |
| 51 | assert.NotNil(t, db) |
| 52 | assert.Nil(t, err) |
| 53 | txNewBucket(t, db, bucket1, DataStructureBTree, nil, nil) |
| 54 | txNewBucket(t, db, bucket2, DataStructureBTree, nil, nil) |
| 55 | txDeleteBucketFunc(t, db, bucket1, DataStructureBTree, nil, nil) |
| 56 | r.NoError(db.Close()) |
| 57 | |
| 58 | db, err = Open(DefaultOptions, WithDir(dir)) |
| 59 | assert.Nil(t, err) |
| 60 | assert.NotNil(t, db) |
| 61 | |
| 62 | err = db.View(func(tx *Tx) error { |
| 63 | exist := tx.ExistBucket(DataStructureBTree, bucket2) |
| 64 | assert.Equal(t, true, exist) |
| 65 | exist = tx.ExistBucket(DataStructureBTree, bucket1) |
| 66 | assert.Equal(t, false, exist) |
| 67 | return nil |
| 68 | }) |
| 69 | assert.Nil(t, err) |
| 70 | r.NoError(db.Close()) |
| 71 | } |
| 72 | |
| 73 | func TestBucketManager_DataStructureIsolation(t *testing.T) { |
| 74 | const bucket1 = "bucket_1" |
nothing calls this directly
no test coverage detected