blob: 0efb356ad7e2fda22b4325229c662dd0e46f8924 [file] [log] [blame]
Tim Windelschmidt6d33a432025-02-04 14:34:25 +01001// Copyright The Monogon Project Authors.
2// SPDX-License-Identifier: Apache-2.0
3
Lorenz Brund58edf42024-11-27 20:38:14 +00004package kubernetes
5
6import (
7 "testing"
8
9 utilfeature "k8s.io/apiserver/pkg/util/feature"
10 "k8s.io/component-base/featuregate"
11)
12
13func TestFeatureGateDefaults(t *testing.T) {
14 for f, en := range extraFeatureGates {
15 if utilfeature.DefaultFeatureGate.Enabled(f) == en {
16 t.Errorf("Feature gate %q is already %v by default, remove it from extraFeatureGates", string(f), en)
17 }
18 }
19}
20
21func TestAsFlags(t *testing.T) {
22 for _, c := range []struct {
23 name string
24 fg featureGates
25 expected string
26 }{
27 {"None", featureGates{}, "--feature-gates="},
28 {"Single", featureGates{featuregate.Feature("Test"): true}, "--feature-gates=Test=true"},
29 {"Multiple", featureGates{featuregate.Feature("Test"): true, featuregate.Feature("Test2"): false}, "--feature-gates=Test=true,Test2=false"},
30 } {
31 t.Run(c.name, func(t *testing.T) {
32 got := c.fg.AsFlag()
33 if got != c.expected {
34 t.Errorf("Expected %q, got %q", c.expected, got)
35 }
36 })
37 }
38}