(t *testing.T)
| 1161 | } |
| 1162 | |
| 1163 | func TestFeatureFlagResources(t *testing.T) { |
| 1164 | resources := []ServerResourceTemplate{ |
| 1165 | mockResource("always_available", "toolset1", "uri1"), |
| 1166 | { |
| 1167 | Template: mcp.ResourceTemplate{Name: "needs_flag", URITemplate: "uri2"}, |
| 1168 | Toolset: testToolsetMetadata("toolset1"), |
| 1169 | FeatureFlagEnable: "my_feature", |
| 1170 | }, |
| 1171 | } |
| 1172 | |
| 1173 | // Without checker, feature-flag filtering is skipped: both resources pass |
| 1174 | reg := mustBuild(t, NewBuilder().SetResources(resources).WithToolsets([]string{"all"})) |
| 1175 | available := reg.AvailableResourceTemplates(context.Background()) |
| 1176 | if len(available) != 2 { |
| 1177 | t.Fatalf("Expected 2 resources without checker (filtering skipped), got %d", len(available)) |
| 1178 | } |
| 1179 | |
| 1180 | // With checker returning true, both should be included |
| 1181 | checker := func(_ context.Context, _ string) (bool, error) { return true, nil } |
| 1182 | regWithChecker := mustBuild(t, NewBuilder().SetResources(resources).WithToolsets([]string{"all"}).WithFeatureChecker(checker)) |
| 1183 | if len(regWithChecker.AvailableResourceTemplates(context.Background())) != 2 { |
| 1184 | t.Errorf("Expected 2 resources with checker, got %d", len(regWithChecker.AvailableResourceTemplates(context.Background()))) |
| 1185 | } |
| 1186 | } |
| 1187 | |
| 1188 | func TestFeatureFlagPrompts(t *testing.T) { |
| 1189 | prompts := []ServerPrompt{ |
nothing calls this directly
no test coverage detected