diff --git a/lastn/lastn_test.go b/lastn/lastn_test.go index ba1fcd5..62998f7 100755 --- a/lastn/lastn_test.go +++ b/lastn/lastn_test.go @@ -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)) + } } }