Files
donniemarko/internal/storage/storage_test.go
adminoo b571588b15 feat(release): v0.2.0
commit 78d6c27c8940da32a6de8e64327c86f74fdaa2eb
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 12:59:22 2026 +0100

    feat: freebsd log rotation config thingie

commit 55af4e6c70122e679272ed247c26e04b1247f694
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 12:58:43 2026 +0100

    feat: embed templates, static resolution

commit 29c917f929a7378ec29c54315ee2e9f420747787
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 10:44:34 2026 +0100

    feat: set log file path

commit 294fd3d1549979eab63587ceec6ff5d0978e9afc
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 10:23:53 2026 +0100

    feat: logging HTTP request

commit c9ae80b240d58e1abed7ae3b7b2c3b283a31f1a1
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 09:54:05 2026 +0100

    feat: freebsd-specific compile target and scripts

commit 86ca154dedd19aa1fe5f571c445dcf17a8396bfa
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 09:25:16 2026 +0100

    feat: mobile friendly CSS

commit 199f4319e0b08a4b6d595d7eb3effb6db6c7beec
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 09:25:03 2026 +0100

    feat: persisting rendered note

commit 865e258237e45d7c542685a4653bcad3c5af259d
Author: adminoo <git@kadath.corp>
Date:   Wed Feb 4 08:06:38 2026 +0100

    fix: grouping notes by folder

commit 242d1d074c92461f38212b033c7a9e383f9dc550
Author: adminoo <git@kadath.corp>
Date:   Tue Feb 3 16:52:50 2026 +0100

    feat: storage layer logic

    - Prune notes from db not matching current folder structure at start
    - Detect file system deletion on start by comparing in-db notes
    - Prevent updating of in-db notes at start if modification time is not
      newer
    - Delete by path

commit d75d46bc1ab22bd990d0fdc307e571fe52f0dd99
Author: adminoo <git@kadath.corp>
Date:   Tue Feb 3 15:27:07 2026 +0100

    feat: group notes by root folders

commit e1e25a938e717599332f7b40a449d9bb854b673a
Author: adminoo <git@kadath.corp>
Date:   Tue Feb 3 14:24:37 2026 +0100

    feat: size in kilobytes

commit 61220272a2df2b66c2b8e356ba359ed01de3bd12
Author: adminoo <git@kadath.corp>
Date:   Tue Feb 3 14:19:40 2026 +0100

    feat: styling inputs
2026-02-04 13:17:16 +01:00

86 lines
1.7 KiB
Go

package storage
import (
"donniemarko/internal/note"
"testing"
)
var ns *NoteStorage
var n1, n2 *note.Note
func TestMain(m *testing.M) {
ns = NewNoteStorage()
n1 = note.NewNote()
n1.Path = "test/note1.md"
n1.ID = note.GenerateNoteID(n1.Path)
n1.Content = "# hola amigo"
n2 = note.NewNote()
n2.Path = "note2.md"
n2.ID = note.GenerateNoteID(n2.Path)
n2.Content = "# ah si ?"
m.Run()
}
func TestNoteStorageCreate(t *testing.T) {
ns.Create(n1)
ns.Create(n2)
if len(ns.Index) < 2 {
t.Errorf("Creating notes should add them to the storage. Wanted 2, got '%v'", len(ns.Index))
}
}
func TestNoteStorageDelete(t *testing.T) {
ns.Delete(n1.ID)
if len(ns.Index) > 1 {
t.Errorf("Deleting notes should remove them from to the storage. Wanted 1, got '%v'", len(ns.Index))
}
}
func TestNoteStorageDeleteByPath(t *testing.T) {
ns = NewNoteStorage()
n1 = note.NewNote()
n1.Path = "notes/n1.md"
n1.ID = note.GenerateNoteID("abs/n1.md")
n1.Content = "# one"
ns.Create(n1)
ns.DeleteByPath("notes/n1.md")
if len(ns.Index) != 0 {
t.Fatalf("expected delete by path to remove note")
}
}
func TestNoteStorageGetUpdate(t *testing.T) {
ns.Update(n2.ID, n1)
nn2, err := ns.Get(n2.ID)
if err != nil {
t.Errorf("Error retrieving note with id '%s': '%v'", n2.ID, err)
}
if nn2.Content != n1.Content {
t.Errorf("Updating a note should reflect it in storage. Wanted '%s', got '%s'\n", n1.Content, nn2.Content)
}
}
func TestNoteStorageSearch_Tags(t *testing.T) {
ns = NewNoteStorage()
n := note.NewNote()
n.Path = "note3.md"
n.ID = note.GenerateNoteID(n.Path)
n.Content = "no tag here"
n.Tags = []string{"devops", "go"}
ns.Create(n)
results := ns.Search("go")
if len(results) != 1 {
t.Fatalf("expected 1 result, got %d", len(results))
}
}