(t *testing.T)
| 543 | } |
| 544 | |
| 545 | func TestMemoryHelpersResolveLocationAndScope(t *testing.T) { |
| 546 | t.Parallel() |
| 547 | |
| 548 | store, workspace := newTestMemoryStore(t) |
| 549 | mustWriteMemory(t, store, memcontract.ScopeGlobal, "", "shared.md", memcontract.TypeUser, "global") |
| 550 | mustWriteMemory(t, store, memcontract.ScopeWorkspace, workspace, "shared.md", memcontract.TypeProject, "workspace") |
| 551 | mustWriteMemory( |
| 552 | t, |
| 553 | store, |
| 554 | memcontract.ScopeWorkspace, |
| 555 | workspace, |
| 556 | "workspace-only.md", |
| 557 | memcontract.TypeProject, |
| 558 | "workspace only", |
| 559 | ) |
| 560 | |
| 561 | handlers := newTestMemoryHandlers(t, stubSessionManager{}, stubObserver{}, store, &stubDreamTrigger{}) |
| 562 | |
| 563 | location, err := handlers.resolveMemoryLocation("workspace-only.md", "", workspace) |
| 564 | if err != nil { |
| 565 | t.Fatalf("resolveMemoryLocation(workspace-only) error = %v", err) |
| 566 | } |
| 567 | if location.Scope != memcontract.ScopeWorkspace || location.Workspace != workspace { |
| 568 | t.Fatalf("location = %#v, want workspace match", location) |
| 569 | } |
| 570 | |
| 571 | _, err = handlers.resolveMemoryLocation("shared.md", "", workspace) |
| 572 | if !errors.Is(err, memory.ErrValidation) { |
| 573 | t.Fatalf("resolveMemoryLocation(shared) error = %v, want validation error", err) |
| 574 | } |
| 575 | |
| 576 | _, err = handlers.resolveMemoryLocation("shared.md", "workspace", "") |
| 577 | if !errors.Is(err, memory.ErrValidation) { |
| 578 | t.Fatalf("resolveMemoryLocation(workspace without workspace) error = %v, want validation error", err) |
| 579 | } |
| 580 | |
| 581 | _, err = handlers.resolveMemoryLocation("missing.md", "", workspace) |
| 582 | if !errors.Is(err, os.ErrNotExist) { |
| 583 | t.Fatalf("resolveMemoryLocation(missing) error = %v, want os.ErrNotExist", err) |
| 584 | } |
| 585 | } |
| 586 | |
| 587 | func TestMemoryHelpersWriteScopeStatusAndWorkspaces(t *testing.T) { |
| 588 | t.Parallel() |
nothing calls this directly
no test coverage detected