a9c07acbfa
refactor to share code in emulated batch refactor to share code in emulated merge refactor index kvstore benchmarks to share more code refactor index kvstore benchmarks to be more repeatable
89 lines
1.5 KiB
Go
89 lines
1.5 KiB
Go
package null
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/blevesearch/bleve/index/store"
|
|
)
|
|
|
|
func TestStore(t *testing.T) {
|
|
s, err := New()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
CommonTestKVStore(t, s)
|
|
}
|
|
|
|
func CommonTestKVStore(t *testing.T, s store.KVStore) {
|
|
|
|
writer, err := s.Writer()
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
err = writer.Set([]byte("a"), []byte("val-a"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
err = writer.Set([]byte("z"), []byte("val-z"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
err = writer.Delete([]byte("z"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
batch := writer.NewBatch()
|
|
batch.Set([]byte("b"), []byte("val-b"))
|
|
batch.Set([]byte("c"), []byte("val-c"))
|
|
batch.Set([]byte("d"), []byte("val-d"))
|
|
batch.Set([]byte("e"), []byte("val-e"))
|
|
batch.Set([]byte("f"), []byte("val-f"))
|
|
batch.Set([]byte("g"), []byte("val-g"))
|
|
batch.Set([]byte("h"), []byte("val-h"))
|
|
batch.Set([]byte("i"), []byte("val-i"))
|
|
batch.Set([]byte("j"), []byte("val-j"))
|
|
|
|
err = batch.Execute()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
err = writer.Close()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
reader, err := s.Reader()
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
defer func() {
|
|
err := reader.Close()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}()
|
|
it := reader.Iterator([]byte("b"))
|
|
key, val, valid := it.Current()
|
|
if valid {
|
|
t.Fatalf("valid true, expected false")
|
|
}
|
|
if key != nil {
|
|
t.Fatalf("expected key nil, got %s", key)
|
|
}
|
|
if val != nil {
|
|
t.Fatalf("expected value nil, got %s", val)
|
|
}
|
|
|
|
err = it.Close()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
err = s.Close()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|