MCPcopy Create free account
hub / github.com/diillson/chatcli / TestMemoryPluginAdapter

Function TestMemoryPluginAdapter

cli/memory_extras_test.go:18–49  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16}
17
18func TestMemoryPluginAdapter(t *testing.T) {
19 cli := newTestCLIWithMemory(t)
20 a := &memoryPluginAdapter{cli: cli}
21
22 // Remember a fact, then a duplicate (no-op), then forget it.
23 if _, err := a.Remember("User earned the AWS SAA certification", "personal"); err != nil {
24 t.Fatalf("remember: %v", err)
25 }
26 if _, err := a.Remember("User earned the AWS SAA certification", "personal"); err != nil {
27 t.Fatalf("remember dup: %v", err)
28 }
29 out, err := a.Forget("AWS SAA")
30 if err != nil || out == "" {
31 t.Fatalf("forget: %q %v", out, err)
32 }
33
34 // Profile update lands.
35 if _, err := a.UpdateProfile(map[string]string{"company": "Acme", "skills": "Go"}); err != nil {
36 t.Fatalf("profile: %v", err)
37 }
38 if got := cli.memoryStore.Manager().Profile.Get().Company; got != "Acme" {
39 t.Errorf("expected company Acme, got %q", got)
40 }
41
42 // Recall returns a string (empty-query path uses the general context).
43 if _, err := a.Recall(""); err != nil {
44 t.Errorf("recall: %v", err)
45 }
46 if _, err := a.Recall("certification"); err != nil {
47 t.Errorf("recall query: %v", err)
48 }
49}
50
51func TestMemoryPluginAdapter_NoStore(t *testing.T) {
52 a := &memoryPluginAdapter{cli: &ChatCLI{}}

Callers

nothing calls this directly

Calls 8

RememberMethod · 0.95
ForgetMethod · 0.95
UpdateProfileMethod · 0.95
RecallMethod · 0.95
newTestCLIWithMemoryFunction · 0.85
ManagerMethod · 0.80
ErrorfMethod · 0.80
GetMethod · 0.65

Tested by

no test coverage detected