Skip to content

Commit 68c80cf

Browse files
authored
Merge pull request #266 from Bobbins228/RHAIENG-4358-test-coverage
test: expand envtest and unit coverage for controllers …
2 parents 47652c0 + a8cbb6a commit 68c80cf

7 files changed

Lines changed: 750 additions & 3 deletions

File tree

kagenti-operator/cmd/main.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,7 @@ func main() {
431431
}
432432

433433
// AuthBridge sidecar injection webhook
434-
// nolint:goconst
435-
if os.Getenv("ENABLE_WEBHOOKS") != "false" {
434+
if authBridgeWebhooksEnabled() {
436435
podMutator := injector.NewPodMutator(
437436
mgr.GetClient(),
438437
enableClientRegistration,
@@ -477,6 +476,13 @@ func main() {
477476
os.Exit(1)
478477
}
479478
}
479+
480+
// authBridgeWebhooksEnabled reports whether AuthBridge mutating webhooks should be registered.
481+
// Set ENABLE_WEBHOOKS=false to skip registration (tests, minimal deployments).
482+
func authBridgeWebhooksEnabled() bool {
483+
return os.Getenv("ENABLE_WEBHOOKS") != "false"
484+
}
485+
480486
func getNamespacesToWatch() map[string]cache.Config {
481487
namespace := strings.TrimSpace(os.Getenv("NAMESPACES2WATCH"))
482488
if namespace == "" {

kagenti-operator/cmd/main_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
Copyright 2026.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package main
18+
19+
import "testing"
20+
21+
func TestAuthBridgeWebhooksEnabled(t *testing.T) {
22+
t.Run("enables when unset", func(t *testing.T) {
23+
t.Setenv("ENABLE_WEBHOOKS", "")
24+
if !authBridgeWebhooksEnabled() {
25+
t.Fatal("expected webhooks enabled when ENABLE_WEBHOOKS is unset")
26+
}
27+
})
28+
t.Run("enables when not false", func(t *testing.T) {
29+
t.Setenv("ENABLE_WEBHOOKS", "true")
30+
if !authBridgeWebhooksEnabled() {
31+
t.Fatal("expected webhooks enabled for non-false value")
32+
}
33+
})
34+
t.Run("disables when false", func(t *testing.T) {
35+
t.Setenv("ENABLE_WEBHOOKS", "false")
36+
if authBridgeWebhooksEnabled() {
37+
t.Fatal("expected webhooks disabled when ENABLE_WEBHOOKS=false")
38+
}
39+
})
40+
}

0 commit comments

Comments
 (0)