package notes import ( "io/ioutil" "gitea.inhome.blapointe.com/local/notes-server/config" "os" "path" "testing" ) func TestDelete(t *testing.T) { config.Root = "/tmp" ioutil.WriteFile("/tmp/a", []byte("hi"), os.ModePerm) n := &Notes{} t.Run("delete 404", func(t *testing.T) { if err := n.Delete("/notes/a"); err != nil { t.Error(err) } if _, err := os.Stat("/tmp/a"); err == nil { t.Error(err) } }) t.Run("delete w. content", func(t *testing.T) { d, err := ioutil.TempDir(os.TempDir(), "trydel*") if err != nil { t.Fatal(err) } config.Root = path.Dir(d) for i := 0; i < 3; i++ { f, err := ioutil.TempFile(d, "file*") if err != nil { t.Fatal(err) } f.Close() } if err := n.Delete("/abc/" + path.Base(d)); err == nil { t.Error(err) } }) t.Run("delete empty dir", func(t *testing.T) { d2p := os.TempDir() d2, err := ioutil.TempDir(d2p, "trydel*") config.Root = path.Dir(d2p) if err != nil { t.Fatal(err) } if err := n.Delete("/abc/" + path.Base(d2)); err != nil { t.Errorf("failed to del empty dir %s in %s: %v", d2, d2p, err) } }) }