tree is now filetree based

This commit is contained in:
Bel LaPointe
2022-02-09 08:49:08 -07:00
parent fc263d6c2d
commit 9ad262e607
5 changed files with 122 additions and 51 deletions

View File

@@ -3,7 +3,6 @@ package main
import (
"bytes"
"encoding/json"
"path"
"testing"
"time"
@@ -11,41 +10,46 @@ import (
)
func TestTree(t *testing.T) {
path := path.Join(t.TempDir(), "index.yaml")
tree := NewTree(path)
tree := NewTree(t.TempDir())
t.Logf("tree.Get() from zero")
if m, err := tree.Get(); err != nil {
t.Fatal(err)
t.Fatal("failed to get empty tree:", err)
} else if m == nil {
t.Fatal(m)
t.Fatal("got a nil tree:", m)
}
t.Logf("tree.Del() from zero")
if err := tree.Del("id"); err != nil {
t.Fatal(err)
t.Fatal("failed to del a nil id:", err)
}
t.Logf("tree.Put(bad pid) from zero")
if err := tree.Put("id", Branch{PID: "fake"}); err == nil {
t.Fatal(err)
t.Fatal("failed to put with a fake pid:", err)
}
t.Logf("tree.Put() from zero")
if err := tree.Put("id", Branch{}); err != nil {
t.Fatal(err)
t.Fatal("failed to put with no pid:", err)
} else if branches, err := tree.Get(); err != nil {
t.Fatal(err)
t.Fatal("failed to get after put:", err)
} else if branch, ok := branches["id"]; !ok {
t.Fatal(err)
t.Fatal("got tree without put id:", branches)
} else if branch.Title == "" {
t.Fatal(branch)
t.Fatal("got no default title", branch)
} else if time.Since(branch.Updated) > time.Hour {
t.Fatal(branch)
t.Fatal("got not updated", branch)
} else if branch.Deleted {
t.Fatal(branch)
t.Fatal("got deleted after put", branch)
}
t.Logf("tree.Put(good pid)")
if err := tree.Put("id2", Branch{PID: "id"}); err != nil {
t.Fatal(err)
}
t.Logf("tree.Del(good pid)")
if err := tree.Del("id"); err != nil {
t.Fatal(err)
} else if branches, err := tree.Get(); err != nil {
@@ -58,7 +62,7 @@ func TestTree(t *testing.T) {
}
func TestTreePretty(t *testing.T) {
tree := NewTree(path.Join(t.TempDir(), "tree_pretty.yaml"))
tree := NewTree(t.TempDir())
tree.Put("A", Branch{Title: "A", PID: ""})
tree.Put("AA", Branch{Title: "AA", PID: "A", Deleted: true})
tree.Put("B", Branch{Title: "B", PID: ""})