nub/internal/mcpc/profile_test.go
Tom a97013d876 initial commit
- v 0.1.0 siehe CHANGELOG.md
2026-07-25 11:08:01 +02:00

53 lines
1.4 KiB
Go

package mcpc
import (
"testing"
"nub/internal/config"
)
func TestSelectServers_NoProfilesConfigured_ReturnsAll(t *testing.T) {
servers := []config.MCPServer{{Name: "a"}, {Name: "b"}}
out, err := SelectServers(servers, nil, "")
if err != nil {
t.Fatal(err)
}
if len(out) != 2 {
t.Errorf("got %d servers, want 2 (no filtering without profiles)", len(out))
}
}
func TestSelectServers_FiltersToNamedProfile(t *testing.T) {
servers := []config.MCPServer{{Name: "github"}, {Name: "linear"}}
profiles := map[string][]string{"review": {"github"}, "default": {}}
out, err := SelectServers(servers, profiles, "review")
if err != nil {
t.Fatal(err)
}
if len(out) != 1 || out[0].Name != "github" {
t.Errorf("got %+v, want only github", out)
}
}
func TestSelectServers_DefaultsToDefaultProfile(t *testing.T) {
servers := []config.MCPServer{{Name: "github"}}
profiles := map[string][]string{"default": {}}
out, err := SelectServers(servers, profiles, "")
if err != nil {
t.Fatal(err)
}
if len(out) != 0 {
t.Errorf("got %+v, want empty (default profile has no servers)", out)
}
}
func TestSelectServers_UnknownProfileErrors(t *testing.T) {
servers := []config.MCPServer{{Name: "github"}}
profiles := map[string][]string{"default": {}}
if _, err := SelectServers(servers, profiles, "does-not-exist"); err == nil {
t.Fatal("expected error for unknown profile")
}
}