Skip to content

Commit 1441456

Browse files
committed
Add test for loading webhooks from file
1 parent b19cb86 commit 1441456

File tree

2 files changed

+112
-0
lines changed

2 files changed

+112
-0
lines changed
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
apiVersion: admissionregistration.k8s.io/v1beta1
3+
kind: MutatingWebhookConfiguration
4+
metadata:
5+
creationTimestamp: null
6+
name: mutating-webhook-configuration
7+
webhooks:
8+
- clientConfig:
9+
caBundle: Cg==
10+
service:
11+
name: webhook-service
12+
namespace: system
13+
path: /mutate-v1beta1
14+
failurePolicy: Fail
15+
name: mpods.kb.io
16+
rules:
17+
- apiGroups:
18+
- ""
19+
apiVersions:
20+
- v1
21+
operations:
22+
- CREATE
23+
- UPDATE
24+
resources:
25+
- pods
26+
---
27+
apiVersion: admissionregistration.k8s.io/v1
28+
kind: MutatingWebhookConfiguration
29+
metadata:
30+
creationTimestamp: null
31+
name: mutating-webhook-configuration2
32+
webhooks:
33+
- clientConfig:
34+
caBundle: Cg==
35+
service:
36+
name: webhook-service
37+
namespace: system
38+
path: /mutate-v1
39+
failurePolicy: Fail
40+
name: mpods2.kb.io
41+
rules:
42+
- apiGroups:
43+
- ""
44+
apiVersions:
45+
- v1
46+
operations:
47+
- CREATE
48+
- UPDATE
49+
resources:
50+
- pods
51+
---
52+
apiVersion: admissionregistration.k8s.io/v1beta1
53+
kind: ValidatingWebhookConfiguration
54+
metadata:
55+
creationTimestamp: null
56+
name: validating-webhook-configuration
57+
webhooks:
58+
- clientConfig:
59+
caBundle: Cg==
60+
service:
61+
name: webhook-service
62+
namespace: system
63+
path: /validate-v1beta1
64+
failurePolicy: Fail
65+
name: vpods.kb.io
66+
rules:
67+
- apiGroups:
68+
- ""
69+
apiVersions:
70+
- v1
71+
operations:
72+
- CREATE
73+
- UPDATE
74+
resources:
75+
- pods
76+
---
77+
apiVersion: admissionregistration.k8s.io/v1
78+
kind: ValidatingWebhookConfiguration
79+
metadata:
80+
creationTimestamp: null
81+
name: validating-webhook-configuration
82+
webhooks:
83+
- clientConfig:
84+
caBundle: Cg==
85+
service:
86+
name: webhook-service
87+
namespace: system
88+
path: /validate-v1
89+
failurePolicy: Fail
90+
name: vpods2.kb.io
91+
rules:
92+
- apiGroups:
93+
- ""
94+
apiVersions:
95+
- v1
96+
operations:
97+
- CREATE
98+
- UPDATE
99+
resources:
100+
- pods
101+

pkg/envtest/webhook_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package envtest
33
import (
44
"context"
55
"fmt"
6+
"path/filepath"
67
"time"
78

89
. "github.com/onsi/ginkgo"
@@ -73,6 +74,16 @@ var _ = Describe("Test", func() {
7374
close(stopCh)
7475
close(done)
7576
})
77+
78+
It("should load webhooks from files", func() {
79+
installOptions := WebhookInstallOptions{
80+
DirectoryPaths: []string{filepath.Join("testdata", "webhooks")},
81+
}
82+
err := parseWebhookDirs(&installOptions)
83+
Expect(err).NotTo(HaveOccurred())
84+
Expect(len(installOptions.MutatingWebhooks)).To(Equal(2))
85+
Expect(len(installOptions.ValidatingWebhooks)).To(Equal(2))
86+
})
7687
})
7788
})
7889

0 commit comments

Comments
 (0)