Implement list and fix test
This commit is contained in:
44
db_test.go
44
db_test.go
@@ -7,6 +7,7 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"sync"
|
||||
"testing"
|
||||
)
|
||||
@@ -16,9 +17,12 @@ type mock struct {
|
||||
}
|
||||
|
||||
func (mock *mock) List(ns []string, limits ...string) ([]string, error) {
|
||||
limits = resolveLimits(limits)
|
||||
keys := []string{}
|
||||
for k := range mock.m {
|
||||
keys = append(keys, k)
|
||||
if k >= limits[0] && k <= limits[1] {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
}
|
||||
return keys, nil
|
||||
}
|
||||
@@ -66,8 +70,14 @@ func TestImplementations(t *testing.T) {
|
||||
cases = append(cases, cacheFile)
|
||||
}
|
||||
|
||||
if redis, err := NewRedis("localhost:6379", "", ""); err != nil {
|
||||
t.Errorf("cannot make redis: %v", err)
|
||||
if dynomite, err := NewDynomite("localhost:8102", "", ""); err != nil {
|
||||
t.Logf("cannot make dynomite: %v", err)
|
||||
} else {
|
||||
cases = append(cases, dynomite)
|
||||
}
|
||||
|
||||
if redis, err := NewRedis("localhost:8103", "", ""); err != nil {
|
||||
t.Logf("cannot make redis: %v", err)
|
||||
} else {
|
||||
cases = append(cases, redis)
|
||||
}
|
||||
@@ -97,7 +107,7 @@ func TestImplementations(t *testing.T) {
|
||||
}()
|
||||
}
|
||||
if riak, err := NewRiak("localhost:8087"); err != nil {
|
||||
t.Errorf("cannot make riak: %v", err)
|
||||
t.Logf("cannot make riak: %v", err)
|
||||
} else {
|
||||
cases = append(cases, riak)
|
||||
}
|
||||
@@ -119,23 +129,23 @@ func TestImplementations(t *testing.T) {
|
||||
} else if mongo2, err := NewMongo("localhost:27017", "root", "pass"); err == nil {
|
||||
cases = append(cases, mongo2)
|
||||
} else {
|
||||
t.Errorf("cannot make mongo: %v", err)
|
||||
t.Logf("cannot make mongo: %v", err)
|
||||
}
|
||||
|
||||
if memcache, err := NewMemcache("localhost:11211"); err != nil {
|
||||
t.Errorf("cannot make memcache: %v", err)
|
||||
t.Logf("cannot make memcache: %v", err)
|
||||
} else {
|
||||
cases = append(cases, memcache)
|
||||
}
|
||||
|
||||
if memcacheCluster, err := NewMemcacheCluster("localhost:11211"); err != nil {
|
||||
t.Errorf("cannot make memcacheCluster: %v", err)
|
||||
t.Logf("cannot make memcacheCluster: %v", err)
|
||||
} else {
|
||||
cases = append(cases, memcacheCluster)
|
||||
}
|
||||
|
||||
if minio, err := NewMinio("localhost:9000", "accesskey", "secretkey"); err != nil {
|
||||
t.Errorf("cannot make minio: %v", err)
|
||||
t.Logf("cannot make minio: %v", err)
|
||||
} else {
|
||||
cases = append(cases, minio)
|
||||
}
|
||||
@@ -145,20 +155,20 @@ func TestImplementations(t *testing.T) {
|
||||
|
||||
for _, db := range cases {
|
||||
if err := db.Set(validKey, validValue); err != nil {
|
||||
t.Errorf("cannot set %T: %v", db, err)
|
||||
t.Errorf("%T) cannot set: %v", db, err)
|
||||
}
|
||||
if v, err := db.Get(validKey); err != nil {
|
||||
t.Errorf("cannot get %T: %v", db, err)
|
||||
t.Errorf("%T) cannot get: %v", db, err)
|
||||
} else if !bytes.Equal(v, validValue) {
|
||||
t.Errorf("wrong get %T: %q vs %q", db, v, validValue)
|
||||
t.Errorf("%T) wrong get: %q vs %q", db, v, validValue)
|
||||
} else if keys, err := db.List(nil); err != nil || len(keys) < 1 {
|
||||
t.Errorf("cannot List(): %v", err)
|
||||
} else if keys[0] != validKey {
|
||||
t.Errorf("List()[0] != %s: %s", validKey, keys[0])
|
||||
t.Errorf("%T) cannot List(): %v", db, err)
|
||||
} else if !strings.Contains(keys[0], validKey) {
|
||||
t.Errorf("%T) List()[0] != %s: %s", db, validKey, keys[0])
|
||||
} else if keys, err := db.List(nil, validKey[:1]); err != nil || len(keys) < 1 {
|
||||
t.Errorf("cannot List(prefix): %v", err)
|
||||
} else if keys[0] != validKey {
|
||||
t.Errorf("List(prefix)[0] != %s: %s", validKey, keys[0])
|
||||
t.Errorf("%T) cannot List(prefix): %v", db, err)
|
||||
} else if !strings.Contains(keys[0], validKey) {
|
||||
t.Errorf("%T) List(prefix)[0] != %s: %s", db, validKey, keys[0])
|
||||
} else {
|
||||
t.Logf("%25T GET: %s", db, v)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user