fix tests and double namespacing depending on backend

master
bel 2020-04-08 04:00:03 +00:00
parent e5ba896fd4
commit 963e302cb4
4 changed files with 9 additions and 7 deletions

View File

@ -3,6 +3,7 @@ package storage
import (
"os"
"path"
"strings"
"time"
cache "github.com/patrickmn/go-cache"
@ -34,7 +35,7 @@ func (c *Cache) List(ns []string, limits ...string) ([]string, error) {
keys := []string{}
for k := range m {
if k >= limits[0] && k <= limits[1] {
keys = append(keys, k)
keys = append(keys, strings.TrimPrefix(k, namespace+"/"))
}
}
return keys, nil

View File

@ -17,11 +17,12 @@ type mock struct {
}
func (mock *mock) List(ns []string, limits ...string) ([]string, error) {
namespace := resolveNamespace(ns)
limits = resolveLimits(limits)
keys := []string{}
for k := range mock.m {
if k >= limits[0] && k <= limits[1] {
keys = append(keys, k)
keys = append(keys, strings.TrimPrefix(k, namespace+"/"))
}
}
return keys, nil
@ -197,13 +198,13 @@ type = local
t.Logf(" %T: list1", db)
if keys, err := db.List([]string{"ns1", "ns2"}); err != nil || len(keys) < 1 {
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[0] != validKey {
t.Errorf("%T) List()[0] != %s: %s: want %q, got %q", db, validKey, keys[0], validKey, keys[0])
}
t.Logf(" %T: list2", db)
if keys, err := db.List([]string{"ns1", "ns2"}, validKey[:1]); err != nil || len(keys) < 1 {
t.Errorf("%T) cannot List(prefix): %v", db, err)
} else if !strings.Contains(keys[0], validKey) {
} else if keys[0] != validKey {
t.Errorf("%T) List(prefix)[0] != %s: %s", db, validKey, keys[0])
}
t.Logf(" %T: close", db)

View File

@ -39,7 +39,7 @@ func (b *Files) List(ns []string, limits ...string) ([]string, error) {
if !strings.HasPrefix(strings.TrimPrefix(p, b.root+"/"), namespace) {
return nil
}
files = append(files, path.Join(b.root, p))
files = append(files, strings.TrimPrefix(p, path.Join(b.root, namespace)+"/"))
return nil
})
return files, err

View File

@ -17,7 +17,7 @@ func NewRedis(addr, user, pass string) (*Redis, error) {
if pass != "" {
opts = append(opts, redis.DialPassword(pass))
}
opts = append(opts, redis.DialConnectTimeout(time.Second*10))
opts = append(opts, redis.DialConnectTimeout(time.Second*3))
client, err := redis.Dial("tcp", addr, opts...)
return &Redis{
client: client,