* Implement tests for error functions like errRequiredField, errInvalidField, and errEntityNotFound. * Ensure proper metadata is returned for various error scenarios. * Validate error handling in CRM, Files, and other tools. * Introduce tests for parsing stored file IDs and UUIDs. * Enhance coverage for helper functions related to project resolution and session management.
31 lines
785 B
Go
31 lines
785 B
Go
package mcpserver
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
|
|
"git.warky.dev/wdevs/amcs/internal/session"
|
|
)
|
|
|
|
func TestCleanupEventStoreSessionClosedClearsActiveProject(t *testing.T) {
|
|
activeProjects := session.NewActiveProjects()
|
|
activeProjects.Set("session-1", uuid.New())
|
|
|
|
store := newCleanupEventStore(mcp.NewMemoryEventStore(nil), activeProjects.Clear)
|
|
|
|
if _, ok := activeProjects.Get("session-1"); !ok {
|
|
t.Fatal("active project missing before SessionClosed")
|
|
}
|
|
|
|
if err := store.SessionClosed(context.Background(), "session-1"); err != nil {
|
|
t.Fatalf("SessionClosed() error = %v", err)
|
|
}
|
|
|
|
if _, ok := activeProjects.Get("session-1"); ok {
|
|
t.Fatal("active project still present after SessionClosed")
|
|
}
|
|
}
|