From 09c2a03cefa687832257d3b816da50db3cfcc0f2 Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Sat, 25 Jul 2026 23:48:11 +0800
Subject: [PATCH] feat: 实现输出格式化
---
internal/index/sqlite_test.go | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/internal/index/sqlite_test.go b/internal/index/sqlite_test.go
new file mode 100644
index 0000000..f83b4bb
--- /dev/null
+++ b/internal/index/sqlite_test.go
@@ -0,0 +1,66 @@
+package index
+
+import (
+ "path/filepath"
+ "testing"
+
+ "github.com/aisim/kb-cli/internal/graph"
+)
+
+func TestStore(t *testing.T) {
+ tmpDir := t.TempDir()
+ dbPath := filepath.Join(tmpDir, "test.db")
+
+ store, err := Open(dbPath)
+ if err != nil {
+ t.Fatalf("Open failed: %v", err)
+ }
+ defer store.Close()
+
+ // 测试插入节点
+ node := &graph.Node{
+ Path: "FAQ/充装类/001-test.md",
+ Title: "测试FAQ",
+ Section: "FAQ",
+ Tags: []string{"充装", "智能枪"},
+ }
+ id, err := store.InsertNode(node)
+ if err != nil {
+ t.Fatalf("InsertNode failed: %v", err)
+ }
+ if id == 0 {
+ t.Error("InsertNode returned 0 id")
+ }
+
+ // 测试插入边
+ edge := &graph.Edge{
+ FromNode: id,
+ ToNode: 1000000,
+ Relation: "tag",
+ Label: "充装",
+ }
+ if err := store.InsertEdge(edge); err != nil {
+ t.Fatalf("InsertEdge failed: %v", err)
+ }
+
+ // 测试元信息
+ if err := store.SetMeta("git_commit", "abc123"); err != nil {
+ t.Fatalf("SetMeta failed: %v", err)
+ }
+ commit, err := store.GetMeta("git_commit")
+ if err != nil {
+ t.Fatalf("GetMeta failed: %v", err)
+ }
+ if commit != "abc123" {
+ t.Errorf("commit = %q, want %q", commit, "abc123")
+ }
+
+ // 测试计数
+ count, err := store.NodeCount()
+ if err != nil {
+ t.Fatalf("NodeCount failed: %v", err)
+ }
+ if count != 1 {
+ t.Errorf("node count = %d, want 1", count)
+ }
+}
--
Gitblit v1.9.1