返回 DeepSeek-Reasonix
save_origin_test.go
根目录 / internal / agent / save_origin_test.go
1 package agent
2
3 import (
4 "path/filepath"
5 "testing"
6
7 "reasonix/internal/provider"
8 )
9
10 func TestSaveLoadPreservesMessageOrigin(t *testing.T) {
11 path := filepath.Join(t.TempDir(), "session.jsonl")
12 session := NewSession("system")
13 session.Add(provider.Message{
14 Role: provider.RoleUser, Origin: provider.MessageOriginUser,
15 Content: "wrapped input", RawContent: "user input",
16 })
17 session.Add(HostGeneratedUserMessage("host continuation"))
18 if err := session.SaveSnapshot(path); err != nil {
19 t.Fatal(err)
20 }
21 loaded, err := LoadSession(path)
22 if err != nil {
23 t.Fatal(err)
24 }
25 messages := loaded.Snapshot()
26 if messages[1].Origin != provider.MessageOriginUser || messages[2].Origin != provider.MessageOriginHost {
27 t.Fatalf("reloaded origins = %q/%q, want user/host", messages[1].Origin, messages[2].Origin)
28 }
29 }
30
30 lines GO