MCPcopy
hub / github.com/github/github-mcp-server / TestFeatureFlagResources

Function TestFeatureFlagResources

pkg/inventory/registry_test.go:1163–1186  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1161}
1162
1163func 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
1188func TestFeatureFlagPrompts(t *testing.T) {
1189 prompts := []ServerPrompt{

Callers

nothing calls this directly

Calls 8

mockResourceFunction · 0.85
testToolsetMetadataFunction · 0.85
mustBuildFunction · 0.85
NewBuilderFunction · 0.85
WithToolsetsMethod · 0.80
SetResourcesMethod · 0.80
WithFeatureCheckerMethod · 0.80

Tested by

no test coverage detected