mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-13 06:47:30 +08:00
49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package agent
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/YspCoder/clawgo/pkg/bus"
|
|
)
|
|
|
|
func TestAppendTaskAuditEventPersistsContextCharStats(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
workspace := t.TempDir()
|
|
al := &AgentLoop{workspace: workspace}
|
|
msg := bus.InboundMessage{
|
|
Channel: "chat",
|
|
SessionKey: "s1",
|
|
Content: "Task Context:\nEKG: repeat_errsig=perm\nTask:\ndeploy",
|
|
Metadata: map[string]string{
|
|
"context_extra_chars": "42",
|
|
"context_ekg_chars": "18",
|
|
"context_memory_chars": "0",
|
|
},
|
|
}
|
|
|
|
al.appendTaskAuditEvent("task-1", msg, "success", time.Now().Add(-time.Second), 1000, "completed", false)
|
|
|
|
b, err := os.ReadFile(filepath.Join(workspace, "memory", "task-audit.jsonl"))
|
|
if err != nil {
|
|
t.Fatalf("read task audit: %v", err)
|
|
}
|
|
var row map[string]interface{}
|
|
if err := json.Unmarshal(b[:len(b)-1], &row); err != nil {
|
|
t.Fatalf("decode task audit row: %v", err)
|
|
}
|
|
if got := int(row["context_extra_chars"].(float64)); got != 42 {
|
|
t.Fatalf("expected context_extra_chars=42, got %d", got)
|
|
}
|
|
if got := int(row["context_ekg_chars"].(float64)); got != 18 {
|
|
t.Fatalf("expected context_ekg_chars=18, got %d", got)
|
|
}
|
|
if got := int(row["context_memory_chars"].(float64)); got != 0 {
|
|
t.Fatalf("expected context_memory_chars=0, got %d", got)
|
|
}
|
|
}
|