MCPcopy Create free account
hub / github.com/compozy/agh / TestMemoryWrapperExports

Function TestMemoryWrapperExports

internal/api/core/handler_edge_cases_test.go:280–334  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

278}
279
280func TestMemoryWrapperExports(t *testing.T) {
281 t.Parallel()
282
283 workspace := t.TempDir()
284 if _, err := workspacepkg.EnsureIdentity(context.Background(), workspace); err != nil {
285 t.Fatalf("EnsureIdentity(%q) error = %v", workspace, err)
286 }
287 req := contract.MemoryWriteRequest{
288 Scope: "workspace",
289 Workspace: workspace,
290 Content: "---\nname: Project\ndescription: desc\ntype: project\n---\n\nbody",
291 }
292 scope, resolvedWorkspace, err := core.ResolveMemoryWriteScope(req)
293 if err != nil {
294 t.Fatalf("ResolveMemoryWriteScope() error = %v", err)
295 }
296 if scope != memcontract.ScopeWorkspace || resolvedWorkspace == "" {
297 t.Fatalf("scope=%q workspace=%q", scope, resolvedWorkspace)
298 }
299 if _, err := core.ParseOptionalMemoryScope("bogus"); err == nil {
300 t.Fatal("ParseOptionalMemoryScope(bogus) error = nil, want non-nil")
301 }
302 if _, err := core.ResolveMemoryWorkspace(""); err == nil {
303 t.Fatal("ResolveMemoryWorkspace(\"\") error = nil, want non-nil")
304 }
305 if scope, resolved, err := core.ResolveMemoryWriteScope(contract.MemoryWriteRequest{
306 Content: "---\nname: Global\ndescription: desc\ntype: user\n---\n\nbody",
307 }); err != nil || scope != memcontract.ScopeGlobal || resolved != "" {
308 t.Fatalf("ResolveMemoryWriteScope(user default) = %q %q %v", scope, resolved, err)
309 }
310
311 store := memory.NewStore(t.TempDir())
312 if err := store.EnsureDirs(); err != nil {
313 t.Fatalf("EnsureDirs() error = %v", err)
314 }
315 if err := store.ForWorkspace(workspace).
316 Write(memcontract.ScopeWorkspace, "note.md", []byte("---\nname: note\ndescription: desc\ntype: project\n---\n\nbody")); err != nil {
317 t.Fatalf("Write() error = %v", err)
318 }
319 manager := testutil.StubSessionManager{
320 ListAllFn: func(context.Context) ([]*session.Info, error) {
321 info := testutil.NewSessionInfo("sess-a")
322 info.Workspace = workspace
323 return []*session.Info{info}, nil
324 },
325 }
326 fixture := newHandlerFixture(t, manager, testutil.StubObserver{}, testutil.StubWorkspaceService{}, store, nil)
327 if _, err := fixture.Handlers.ResolveMemoryLocation("note.md", "workspace", workspace); err != nil {
328 t.Fatalf("ResolveMemoryLocation() error = %v", err)
329 }
330 workspacesOut, err := fixture.Handlers.MemoryHealthWorkspaces(context.Background(), "")
331 if err != nil || len(workspacesOut) != 1 {
332 t.Fatalf("MemoryHealthWorkspaces() = %#v, %v", workspacesOut, err)
333 }
334}
335
336func TestHealthHandlerReturnsRetentionAndPersistencePayload(t *testing.T) {
337 t.Parallel()

Callers

nothing calls this directly

Calls 11

EnsureDirsMethod · 0.95
ForWorkspaceMethod · 0.95
ResolveMemoryWriteScopeFunction · 0.92
ParseOptionalMemoryScopeFunction · 0.92
ResolveMemoryWorkspaceFunction · 0.92
NewStoreFunction · 0.92
NewSessionInfoFunction · 0.92
newHandlerFixtureFunction · 0.85
ResolveMemoryLocationMethod · 0.80
WriteMethod · 0.65

Tested by

no test coverage detected