move resolve into package
This commit is contained in:
83
db_test.go
83
db_test.go
@@ -3,6 +3,7 @@ package storage
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"local/storage/resolve"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
@@ -17,8 +18,8 @@ type mock struct {
|
||||
}
|
||||
|
||||
func (mock *mock) List(ns []string, limits ...string) ([]string, error) {
|
||||
namespace := resolveNamespace(ns)
|
||||
limits = resolveLimits(limits)
|
||||
namespace := resolve.Namespace(ns)
|
||||
limits = resolve.Limits(limits)
|
||||
keys := []string{}
|
||||
for k := range mock.m {
|
||||
if k >= limits[0] && k <= limits[1] {
|
||||
@@ -29,7 +30,7 @@ func (mock *mock) List(ns []string, limits ...string) ([]string, error) {
|
||||
}
|
||||
|
||||
func (mock *mock) Get(key string, ns ...string) ([]byte, error) {
|
||||
namespace := resolveNamespace(ns)
|
||||
namespace := resolve.Namespace(ns)
|
||||
v, ok := mock.m[path.Join(namespace, key)]
|
||||
if ok {
|
||||
return v, nil
|
||||
@@ -38,7 +39,7 @@ func (mock *mock) Get(key string, ns ...string) ([]byte, error) {
|
||||
}
|
||||
|
||||
func (mock *mock) Set(key string, value []byte, ns ...string) error {
|
||||
namespace := resolveNamespace(ns)
|
||||
namespace := resolve.Namespace(ns)
|
||||
mock.m[path.Join(namespace, key)] = value
|
||||
return nil
|
||||
}
|
||||
@@ -313,77 +314,3 @@ func recoverDeferred(c Type, t *testing.T, wg *sync.WaitGroup) {
|
||||
}
|
||||
defer wg.Done()
|
||||
}
|
||||
|
||||
func TestResolveLimitsStart(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
in string
|
||||
out string
|
||||
}{
|
||||
"explicit": {in: "no", out: "no"},
|
||||
}
|
||||
|
||||
for name, c := range cases {
|
||||
input := strings.Split(c.in, ",")
|
||||
out := resolveLimitsStart(input)
|
||||
if out != c.out {
|
||||
t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveLimitsStop(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
in string
|
||||
out string
|
||||
}{
|
||||
"short arr": {in: "", out: "}}}}}}"},
|
||||
"explicit": {in: ",no", out: "no"},
|
||||
}
|
||||
|
||||
for name, c := range cases {
|
||||
input := strings.Split(c.in, ",")
|
||||
out := resolveLimitsStop(input)
|
||||
if out != c.out {
|
||||
t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveLimitsLimit(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
in string
|
||||
out string
|
||||
}{
|
||||
"15": {in: ",,15", out: "15"},
|
||||
"0 set": {in: ",,0", out: "0"},
|
||||
"0 default": {in: ",,", out: "0"},
|
||||
}
|
||||
|
||||
for name, c := range cases {
|
||||
input := strings.Split(c.in, ",")
|
||||
out := resolveLimitsLimit(input)
|
||||
if out != c.out {
|
||||
t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveLimitsAscending(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
in string
|
||||
out string
|
||||
}{
|
||||
"desc": {in: "a,b,c,-", out: "false"},
|
||||
"asc": {in: "a,b,c,+", out: "true"},
|
||||
"default asc prev": {in: "a,b,c,", out: "true"},
|
||||
"default asc empty": {in: ",,,", out: "true"},
|
||||
}
|
||||
|
||||
for name, c := range cases {
|
||||
input := strings.Split(c.in, ",")
|
||||
out := resolveLimitsAscending(input)
|
||||
if out != c.out {
|
||||
t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user