From 4f4c3aefeb2e7dad41964089f7d5a94964da7dd6 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 18 Apr 2019 11:18:47 -0700 Subject: [PATCH] test: improve query coverage --- keytransform/keytransform_test.go | 8 +++++++- test/basic_tests.go | 27 +++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/keytransform/keytransform_test.go b/keytransform/keytransform_test.go index f7370fb..77a8d15 100644 --- a/keytransform/keytransform_test.go +++ b/keytransform/keytransform_test.go @@ -113,8 +113,14 @@ func strsToKeys(strs []string) []ds.Key { return keys } -func TestSuite(t *testing.T) { +func TestSuiteDefaultPair(t *testing.T) { mpds := dstest.NewTestDatastore(true) ktds := kt.Wrap(mpds, pair) dstest.SubtestAll(t, ktds) } + +func TestSuitePrefixTransform(t *testing.T) { + mpds := dstest.NewTestDatastore(true) + ktds := kt.Wrap(mpds, kt.PrefixTransform{Prefix: ds.NewKey("/foo")}) + dstest.SubtestAll(t, ktds) +} diff --git a/test/basic_tests.go b/test/basic_tests.go index c936892..5dcade4 100644 --- a/test/basic_tests.go +++ b/test/basic_tests.go @@ -222,6 +222,30 @@ func SubtestFilter(t *testing.T, ds dstore.Datastore) { Op: dsq.LessThan, Key: "/2", }) + + test(&dsq.FilterKeyCompare{ + Op: dsq.Equal, + Key: "/0key0", + }) + + test(dsq.FilterKeyPrefix{ + Prefix: "/0key0", + }) + + test(&dsq.FilterKeyPrefix{ + Prefix: "/0key0", + }) + + test(dsq.FilterValueCompare{ + Op: dsq.LessThan, + Value: randValue(), + }) +} + +func randValue() []byte { + value := make([]byte, 64) + rand.Read(value) + return value } func subtestQuery(t *testing.T, ds dstore.Datastore, q dsq.Query, check func(t *testing.T, input, output []dsq.Entry)) { @@ -230,8 +254,7 @@ func subtestQuery(t *testing.T, ds dstore.Datastore, q dsq.Query, check func(t * for i := 0; i < count; i++ { s := fmt.Sprintf("%dkey%d", i, i) key := dstore.NewKey(s).String() - value := make([]byte, 64) - rand.Read(value) + value := randValue() input = append(input, dsq.Entry{ Key: key, Value: value,