mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-01 02:05:34 +02:00
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package handler
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"cyberstrike-ai/internal/database"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func TestEnrichHitlApprovalPayload(t *testing.T) {
|
|
tmp := t.TempDir()
|
|
db, err := database.NewDB(filepath.Join(tmp, "test.sqlite"), zap.NewNop())
|
|
if err != nil {
|
|
t.Fatalf("db: %v", err)
|
|
}
|
|
defer os.RemoveAll(tmp)
|
|
|
|
conv, err := db.CreateConversation("hitl ctx", database.ConversationCreateMeta{})
|
|
if err != nil {
|
|
t.Fatalf("conv: %v", err)
|
|
}
|
|
if _, err := db.AddMessage(conv.ID, "user", "scan 10.0.0.1 please", nil); err != nil {
|
|
t.Fatalf("user msg: %v", err)
|
|
}
|
|
asst, err := db.AddMessage(conv.ID, "assistant", "", nil)
|
|
if err != nil {
|
|
t.Fatalf("asst msg: %v", err)
|
|
}
|
|
if err := db.AddProcessDetail(asst.ID, conv.ID, "thinking", "need port scan first", nil); err != nil {
|
|
t.Fatalf("detail: %v", err)
|
|
}
|
|
|
|
h := &AgentHandler{db: db, tasks: NewAgentTaskManager()}
|
|
payload := map[string]interface{}{"toolName": "nmap", "arguments": "{}"}
|
|
h.enrichHitlApprovalPayload(conv.ID, asst.ID, payload)
|
|
|
|
if got := payload["userMessage"]; got != "scan 10.0.0.1 please" {
|
|
t.Fatalf("userMessage=%v", got)
|
|
}
|
|
if got := payload["thinking"]; got != "need port scan first" {
|
|
t.Fatalf("thinking=%v", got)
|
|
}
|
|
}
|