Files
glpi-neuroforge-mega/services/agent/internal/learning/store_test.go
T
groot 9cf24dad23
ci / docker-build (push) Failing after 25s
ci / test (services/control) (push) Successful in 50s
ci / test (services/knowledge) (push) Successful in 52s
ci / test (platform/neuroforge) (push) Successful in 56s
ci / test (services/agent) (push) Successful in 1m1s
release-tag / release-image (push) Successful in 6m47s
update-1.6.2a
2026-09-09 14:14:05 +02:00

45 lines
1.0 KiB
Go

package learning
import (
"github.com/example/glpi-ai-agent/internal/model"
"testing"
)
func TestAddReplaceAndDelete(t *testing.T) {
s, err := Open(t.TempDir(), 10)
if err != nil {
t.Fatal(err)
}
a, err := s.Add(model.LearningExample{RunID: "r1", Subject: "Login geht nicht", CategoryID: 2, CategoryName: "AD"})
if err != nil {
t.Fatal(err)
}
if s.Count() != 1 {
t.Fatalf("count=%d", s.Count())
}
_, err = s.Add(model.LearningExample{RunID: "r1", Subject: "Login geht nicht", CategoryID: 3, CategoryName: "Identity"})
if err != nil {
t.Fatal(err)
}
if s.Count() != 1 || len(s.ExamplesFor(3, 5)) != 1 {
t.Fatal("replacement failed")
}
if err := s.Delete(a.ID); err == nil {
t.Fatal("old replaced id should not exist")
}
}
func TestEmptyListIsNonNil(t *testing.T) {
s, err := Open(t.TempDir(), 10)
if err != nil {
t.Fatal(err)
}
rows := s.List()
if rows == nil {
t.Fatal("empty learning list must serialize as [] instead of null")
}
if len(rows) != 0 {
t.Fatalf("rows=%d, want 0", len(rows))
}
}