From 963e302cb409f395ba1f81d580d5bf0e9b7ea475 Mon Sep 17 00:00:00 2001 From: bel Date: Wed, 8 Apr 2020 04:00:03 +0000 Subject: [PATCH] fix tests and double namespacing depending on backend --- cache.go | 3 ++- db_test.go | 9 +++++---- files.go | 2 +- redis.go | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cache.go b/cache.go index d982efd..379e572 100755 --- a/cache.go +++ b/cache.go @@ -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 diff --git a/db_test.go b/db_test.go index 70aaa96..2aa25ef 100755 --- a/db_test.go +++ b/db_test.go @@ -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) diff --git a/files.go b/files.go index 8abcf4f..94b120b 100755 --- a/files.go +++ b/files.go @@ -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 diff --git a/redis.go b/redis.go index 89960d2..96ab331 100755 --- a/redis.go +++ b/redis.go @@ -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,