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

Function TestResolveFeatureFlags

pkg/github/feature_flags_test.go:137–218  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

135}
136
137func TestResolveFeatureFlags(t *testing.T) {
138 t.Parallel()
139
140 tests := []struct {
141 name string
142 enabledFeatures []string
143 insidersMode bool
144 expectedFlags []string
145 unexpectedFlags []string
146 }{
147 {
148 name: "no features, no insiders",
149 enabledFeatures: nil,
150 expectedFlags: nil,
151 unexpectedFlags: []string{MCPAppsFeatureFlag},
152 },
153 {
154 name: "explicit feature enabled",
155 enabledFeatures: []string{MCPAppsFeatureFlag},
156 expectedFlags: []string{MCPAppsFeatureFlag},
157 },
158 {
159 name: "insiders mode enables insiders flags",
160 enabledFeatures: nil,
161 insidersMode: true,
162 expectedFlags: InsidersFeatureFlags,
163 },
164 {
165 name: "insiders mode does not auto-enable ifc labels",
166 enabledFeatures: nil,
167 insidersMode: true,
168 unexpectedFlags: []string{FeatureFlagIFCLabels},
169 },
170 {
171 name: "ifc_labels can be directly enabled",
172 enabledFeatures: []string{FeatureFlagIFCLabels},
173 expectedFlags: []string{FeatureFlagIFCLabels},
174 },
175 {
176 name: "unknown flags are filtered out",
177 enabledFeatures: []string{"unknown_flag", "another_unknown"},
178 unexpectedFlags: []string{"unknown_flag", "another_unknown"},
179 },
180 {
181 name: "mix of known and unknown flags",
182 enabledFeatures: []string{MCPAppsFeatureFlag, "unknown_flag"},
183 expectedFlags: []string{MCPAppsFeatureFlag},
184 unexpectedFlags: []string{"unknown_flag"},
185 },
186 {
187 name: "user-only flags can be enabled but are not turned on by insiders",
188 enabledFeatures: []string{FeatureFlagIssuesGranular},
189 insidersMode: false,
190 expectedFlags: []string{FeatureFlagIssuesGranular},
191 },
192 {
193 name: "insiders does not enable user-only allowed flags",
194 enabledFeatures: nil,

Callers

nothing calls this directly

Calls 1

ResolveFeatureFlagsFunction · 0.85

Tested by

no test coverage detected