You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
756 B
44 lines
756 B
package kvdb |
|
|
|
import ( |
|
"io/ioutil" |
|
"os" |
|
"path/filepath" |
|
"testing" |
|
|
|
"github.com/btcsuite/btcwallet/walletdb" |
|
"github.com/stretchr/testify/require" |
|
) |
|
|
|
type boltFixture struct { |
|
t *testing.T |
|
tempDir string |
|
} |
|
|
|
func NewBoltFixture(t *testing.T) *boltFixture { |
|
tempDir, err := ioutil.TempDir("", "test") |
|
require.NoError(t, err) |
|
|
|
return &boltFixture{ |
|
t: t, |
|
tempDir: tempDir, |
|
} |
|
} |
|
|
|
func (b *boltFixture) Cleanup() { |
|
os.RemoveAll(b.tempDir) |
|
} |
|
|
|
func (b *boltFixture) NewBackend() walletdb.DB { |
|
dbPath := filepath.Join(b.tempDir) |
|
|
|
db, err := GetBoltBackend(&BoltBackendConfig{ |
|
DBPath: dbPath, |
|
DBFileName: "test.db", |
|
NoFreelistSync: true, |
|
DBTimeout: DefaultDBTimeout, |
|
}) |
|
require.NoError(b.t, err) |
|
|
|
return db |
|
}
|
|
|