返回 DeepSeek-Reasonix
session_user_origin_test.go
根目录 / internal / agent / session_user_origin_test.go
1 package agent
2
3 import (
4 "path/filepath"
5 "testing"
6
7 "reasonix/internal/provider"
8 )
9
10 func TestLoadSessionUserMessagesPreservesOriginAndRawContent(t *testing.T) {
11 path := filepath.Join(t.TempDir(), "session.jsonl")
12 s := NewSession("sys")
13 s.Add(provider.Message{
14 Role: provider.RoleUser, Origin: provider.MessageOriginUser,
15 Content: "wrapped provider prompt", RawContent: "exact prompt",
16 })
17 s.Add(HostGeneratedUserMessage("host continuation without a legacy prefix"))
18 if err := s.SaveSnapshot(path); err != nil {
19 t.Fatal(err)
20 }
21 users, err := LoadSessionUserMessages(path)
22 if err != nil {
23 t.Fatal(err)
24 }
25 if len(users) != 2 || UserMessageText(users[0].Message) != "exact prompt" ||
26 users[0].Message.Origin != provider.MessageOriginUser ||
27 users[1].Message.Origin != provider.MessageOriginHost {
28 t.Fatalf("loaded users = %+v, want complete origin-aware messages", users)
29 }
30 }
31
31 lines GO