61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package leveldbhelper
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
const testDBPath = "/tmp/fabric/ledgertests/util/leveldbhelper"
|
|
|
|
type testDBEnv struct {
|
|
t *testing.T
|
|
path string
|
|
db *DB
|
|
}
|
|
|
|
type testDBProviderEnv struct {
|
|
t *testing.T
|
|
path string
|
|
provider *Provider
|
|
}
|
|
|
|
func newTestDBEnv(t *testing.T, path string) *testDBEnv {
|
|
testDBEnv := &testDBEnv{t: t, path: path}
|
|
testDBEnv.cleanup()
|
|
testDBEnv.db = CreateDB(&Conf{DBPath: path})
|
|
return testDBEnv
|
|
}
|
|
|
|
func newTestProviderEnv(t *testing.T, path string) *testDBProviderEnv {
|
|
testProviderEnv := &testDBProviderEnv{t: t, path: path}
|
|
testProviderEnv.cleanup()
|
|
var err error
|
|
testProviderEnv.provider, err = NewProvider(&Conf{DBPath: path})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return testProviderEnv
|
|
}
|
|
|
|
func (dbEnv *testDBEnv) cleanup() {
|
|
if dbEnv.db != nil {
|
|
dbEnv.db.Close()
|
|
}
|
|
require.NoError(dbEnv.t, os.RemoveAll(dbEnv.path))
|
|
}
|
|
|
|
func (providerEnv *testDBProviderEnv) cleanup() {
|
|
if providerEnv.provider != nil {
|
|
providerEnv.provider.Close()
|
|
}
|
|
require.NoError(providerEnv.t, os.RemoveAll(providerEnv.path))
|
|
}
|