From cd5ea0991feedd9b78355fe7103001eedcdf024e Mon Sep 17 00:00:00 2001 From: Marty Schoch Date: Thu, 15 May 2014 10:18:43 -0400 Subject: [PATCH] refactored store tests to share common code --- index/store/gouchstore/store_test.go | 72 ++------------------------ index/store/inmem/store_test.go | 72 ++------------------------ index/store/leveldb/store_test.go | 71 ++----------------------- index/store/test/common.go | 77 ++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+), 202 deletions(-) create mode 100644 index/store/test/common.go diff --git a/index/store/gouchstore/store_test.go b/index/store/gouchstore/store_test.go index a5779c42..fceab649 100644 --- a/index/store/gouchstore/store_test.go +++ b/index/store/gouchstore/store_test.go @@ -3,80 +3,16 @@ package gouchstore import ( "os" "testing" + + "github.com/couchbaselabs/bleve/index/store/test" ) func TestGouchstoreStore(t *testing.T) { - store, err := Open("test") + s, err := Open("test") if err != nil { t.Fatal(err) } defer os.RemoveAll("test") - err = store.Set([]byte("a"), []byte("val-a")) - if err != nil { - t.Fatal(err) - } - err = store.Set([]byte("z"), []byte("val-z")) - if err != nil { - t.Fatal(err) - } - err = store.Delete([]byte("z")) - if err != nil { - t.Fatal(err) - } - - batch := store.NewBatch() - batch.Set([]byte("a"), []byte("val-a")) - 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) - } - - it := store.Iterator([]byte("b")) - key, val, valid := it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "b" { - t.Fatalf("exepcted key b, got %s", key) - } - if string(val) != "val-b" { - t.Fatalf("expected value val-b, got %s", val) - } - - it.Next() - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "c" { - t.Fatalf("exepcted key c, got %s", key) - } - if string(val) != "val-c" { - t.Fatalf("expected value val-c, got %s", val) - } - - it.Seek([]byte("i")) - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "i" { - t.Fatalf("exepcted key i, got %s", key) - } - if string(val) != "val-i" { - t.Fatalf("expected value val-i, got %s", val) - } - - it.Close() + store_test.CommonTestKVStore(t, s) } diff --git a/index/store/inmem/store_test.go b/index/store/inmem/store_test.go index 2b7d2f7d..77b222bf 100644 --- a/index/store/inmem/store_test.go +++ b/index/store/inmem/store_test.go @@ -2,78 +2,16 @@ package inmem import ( "testing" + + "github.com/couchbaselabs/bleve/index/store/test" ) func TestInMemStore(t *testing.T) { - store, err := Open() + s, err := Open() if err != nil { t.Fatal(err) } + defer s.Close() - err = store.Set([]byte("a"), []byte("val-a")) - if err != nil { - t.Fatal(err) - } - err = store.Set([]byte("z"), []byte("val-z")) - if err != nil { - t.Fatal(err) - } - err = store.Delete([]byte("z")) - if err != nil { - t.Fatal(err) - } - - batch := store.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) - } - - it := store.Iterator([]byte("b")) - key, val, valid := it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "b" { - t.Fatalf("exepcted key b, got %s", key) - } - if string(val) != "val-b" { - t.Fatalf("expected value val-b, got %s", val) - } - - it.Next() - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "c" { - t.Fatalf("exepcted key c, got %s", key) - } - if string(val) != "val-c" { - t.Fatalf("expected value val-c, got %s", val) - } - - it.Seek([]byte("i")) - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "i" { - t.Fatalf("exepcted key i, got %s", key) - } - if string(val) != "val-i" { - t.Fatalf("expected value val-i, got %s", val) - } - - it.Close() + store_test.CommonTestKVStore(t, s) } diff --git a/index/store/leveldb/store_test.go b/index/store/leveldb/store_test.go index e3c62175..45d6f262 100644 --- a/index/store/leveldb/store_test.go +++ b/index/store/leveldb/store_test.go @@ -3,79 +3,16 @@ package leveldb import ( "os" "testing" + + "github.com/couchbaselabs/bleve/index/store/test" ) func TestLevelDBStore(t *testing.T) { - store, err := Open("test") + s, err := Open("test") if err != nil { t.Fatal(err) } defer os.RemoveAll("test") - err = store.Set([]byte("a"), []byte("val-a")) - if err != nil { - t.Fatal(err) - } - err = store.Set([]byte("z"), []byte("val-z")) - if err != nil { - t.Fatal(err) - } - err = store.Delete([]byte("z")) - if err != nil { - t.Fatal(err) - } - - batch := store.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) - } - - it := store.Iterator([]byte("b")) - key, val, valid := it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "b" { - t.Fatalf("exepcted key b, got %s", key) - } - if string(val) != "val-b" { - t.Fatalf("expected value val-b, got %s", val) - } - - it.Next() - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "c" { - t.Fatalf("exepcted key c, got %s", key) - } - if string(val) != "val-c" { - t.Fatalf("expected value val-c, got %s", val) - } - - it.Seek([]byte("i")) - key, val, valid = it.Current() - if !valid { - t.Fatalf("valid false, expected true") - } - if string(key) != "i" { - t.Fatalf("exepcted key i, got %s", key) - } - if string(val) != "val-i" { - t.Fatalf("expected value val-i, got %s", val) - } - - it.Close() + store_test.CommonTestKVStore(t, s) } diff --git a/index/store/test/common.go b/index/store/test/common.go new file mode 100644 index 00000000..acd0fee1 --- /dev/null +++ b/index/store/test/common.go @@ -0,0 +1,77 @@ +package store_test + +import ( + "testing" + + "github.com/couchbaselabs/bleve/index/store" +) + +func CommonTestKVStore(t *testing.T, s store.KVStore) { + + err := s.Set([]byte("a"), []byte("val-a")) + if err != nil { + t.Fatal(err) + } + err = s.Set([]byte("z"), []byte("val-z")) + if err != nil { + t.Fatal(err) + } + err = s.Delete([]byte("z")) + if err != nil { + t.Fatal(err) + } + + batch := s.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) + } + + it := s.Iterator([]byte("b")) + key, val, valid := it.Current() + if !valid { + t.Fatalf("valid false, expected true") + } + if string(key) != "b" { + t.Fatalf("exepcted key b, got %s", key) + } + if string(val) != "val-b" { + t.Fatalf("expected value val-b, got %s", val) + } + + it.Next() + key, val, valid = it.Current() + if !valid { + t.Fatalf("valid false, expected true") + } + if string(key) != "c" { + t.Fatalf("exepcted key c, got %s", key) + } + if string(val) != "val-c" { + t.Fatalf("expected value val-c, got %s", val) + } + + it.Seek([]byte("i")) + key, val, valid = it.Current() + if !valid { + t.Fatalf("valid false, expected true") + } + if string(key) != "i" { + t.Fatalf("exepcted key i, got %s", key) + } + if string(val) != "val-i" { + t.Fatalf("expected value val-i, got %s", val) + } + + it.Close() +}