test with stream
parent
39ddc93e2f
commit
246008d83b
|
|
@ -4,6 +4,7 @@ import (
|
|||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"local/storage"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
|
@ -12,66 +13,68 @@ import (
|
|||
)
|
||||
|
||||
func TestLastN(t *testing.T) {
|
||||
d, clean := makeJunk(t)
|
||||
defer clean()
|
||||
for _, storeName := range []string{storage.MAP.String(), storage.MAPSTREAM.String()} {
|
||||
d, clean := makeJunk(t)
|
||||
defer clean()
|
||||
|
||||
conf := Config{
|
||||
N: 3,
|
||||
Ns: "b",
|
||||
Root: d,
|
||||
Store: "map",
|
||||
}
|
||||
lastn, err := New(conf)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := lastn.Push(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
was := log.Writer()
|
||||
buff := bytes.NewBuffer(nil)
|
||||
log.SetOutput(buff)
|
||||
defer log.SetOutput(was)
|
||||
if err := lastn.List(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !bytes.Contains(buff.Bytes(), []byte(time.Now().Format("2006.01.02"))) {
|
||||
t.Fatal(string(buff.Bytes()))
|
||||
}
|
||||
log.SetOutput(was)
|
||||
|
||||
restored := path.Join(d+"-restore", path.Base(d))
|
||||
|
||||
if err := lastn.Restore(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if _, err := os.Stat(restored); os.IsNotExist(err) {
|
||||
t.Fatal(err)
|
||||
} else if err != nil {
|
||||
t.Fatal(err)
|
||||
} else if files, err := ioutil.ReadDir(restored); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(files) != 3 {
|
||||
t.Fatal(len(files))
|
||||
} else {
|
||||
for _, file := range files {
|
||||
if b, err := ioutil.ReadFile(path.Join(restored, file.Name())); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if v := string(b); v != "hi" {
|
||||
t.Fatal(v)
|
||||
}
|
||||
conf := Config{
|
||||
N: 3,
|
||||
Ns: "b",
|
||||
Root: d,
|
||||
Store: storeName,
|
||||
}
|
||||
lastn, err := New(conf)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
if err := lastn.Push(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
if saved, err := lastn.store.List([]string{lastn.conf.Ns}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(saved) != 11 {
|
||||
t.Fatal(len(saved))
|
||||
|
||||
was := log.Writer()
|
||||
buff := bytes.NewBuffer(nil)
|
||||
log.SetOutput(buff)
|
||||
defer log.SetOutput(was)
|
||||
if err := lastn.List(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !bytes.Contains(buff.Bytes(), []byte(time.Now().Format("2006.01.02"))) {
|
||||
t.Fatal(string(buff.Bytes()))
|
||||
}
|
||||
log.SetOutput(was)
|
||||
|
||||
restored := path.Join(d+"-restore", path.Base(d))
|
||||
|
||||
if err := lastn.Restore(); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if _, err := os.Stat(restored); os.IsNotExist(err) {
|
||||
t.Fatal(err)
|
||||
} else if err != nil {
|
||||
t.Fatal(err)
|
||||
} else if files, err := ioutil.ReadDir(restored); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(files) != 3 {
|
||||
t.Fatal(len(files))
|
||||
} else {
|
||||
for _, file := range files {
|
||||
if b, err := ioutil.ReadFile(path.Join(restored, file.Name())); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if v := string(b); v != "hi" {
|
||||
t.Fatal(v)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
if err := lastn.Push(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
if saved, err := lastn.store.List([]string{lastn.conf.Ns}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if len(saved) != 11 {
|
||||
t.Fatal(len(saved))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue