forked from TrueCloudLab/frostfs-node
38 lines
854 B
Go
38 lines
854 B
Go
|
package meta
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"path/filepath"
|
||
|
"testing"
|
||
|
|
||
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
type epochStateTest struct{}
|
||
|
|
||
|
func (s epochStateTest) CurrentEpoch() uint64 {
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
func Test_Mode(t *testing.T) {
|
||
|
t.Parallel()
|
||
|
bdb := New([]Option{
|
||
|
WithPath(filepath.Join(t.TempDir(), "metabase")),
|
||
|
WithPermissions(0o600),
|
||
|
WithEpochState(epochStateTest{}),
|
||
|
}...)
|
||
|
|
||
|
require.NoError(t, bdb.Open(context.Background(), mode.DegradedReadOnly))
|
||
|
require.Nil(t, bdb.boltDB)
|
||
|
require.NoError(t, bdb.Init())
|
||
|
require.Nil(t, bdb.boltDB)
|
||
|
require.NoError(t, bdb.Close())
|
||
|
|
||
|
require.NoError(t, bdb.Open(context.Background(), mode.Degraded))
|
||
|
require.Nil(t, bdb.boltDB)
|
||
|
require.NoError(t, bdb.Init())
|
||
|
require.Nil(t, bdb.boltDB)
|
||
|
require.NoError(t, bdb.Close())
|
||
|
}
|