Skip to content

Commit c68febc

Browse files
author
Erusso7
committed
PR improvements
1 parent b086628 commit c68febc

File tree

3 files changed

+73
-32
lines changed

3 files changed

+73
-32
lines changed

api/v1beta1/module_webhook.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20-
"errors"
20+
"fmt"
2121
"k8s.io/apimachinery/pkg/runtime"
2222
"regexp"
2323
ctrl "sigs.k8s.io/controller-runtime"
@@ -71,8 +71,8 @@ func (r *Module) validateKernelMappingRegex() error {
7171
}
7272

7373
for _, km := range r.Spec.ModuleLoader.Container.KernelMappings {
74-
if _, rErr := regexp.Compile(km.Regexp); rErr != nil {
75-
return errors.New("invalid regex: " + rErr.Error())
74+
if _, err := regexp.Compile(km.Regexp); err != nil {
75+
return fmt.Errorf("invalid regexp: %v", err)
7676
}
7777
}
7878

api/v1beta1/module_webhook_test.go

+69-27
Original file line numberDiff line numberDiff line change
@@ -27,53 +27,95 @@ func TestV1beta1(t *testing.T) {
2727
RunSpecs(t, "V1beta1 Suite")
2828
}
2929

30-
var validKMs = []KernelMapping{
31-
{Regexp: "valid-regex"},
32-
}
33-
34-
var invalidKMs = []KernelMapping{
35-
{Regexp: "*-invalid-regex"},
36-
}
37-
38-
var module = &Module{
39-
Spec: ModuleSpec{
40-
ModuleLoader: ModuleLoaderSpec{
41-
Container: ModuleLoaderContainerSpec{
42-
KernelMappings: nil,
43-
},
44-
},
45-
},
46-
}
47-
48-
var _ = BeforeEach(func() {
49-
module.Spec.ModuleLoader.Container.KernelMappings = validKMs
50-
})
51-
5230
var _ = Describe("ValidateCreate", func() {
5331
It("should pass when all conditions are met", func() {
32+
module := &Module{
33+
Spec: ModuleSpec{
34+
ModuleLoader: ModuleLoaderSpec{
35+
Container: ModuleLoaderContainerSpec{
36+
KernelMappings: []KernelMapping{
37+
{Regexp: "valid-regex"},
38+
},
39+
},
40+
},
41+
},
42+
}
43+
5444
e := module.ValidateCreate()
5545
Expect(e).To(BeNil())
5646
})
5747

5848
It("should fail when an invalid regex is found", func() {
59-
m := module
60-
m.Spec.ModuleLoader.Container.KernelMappings = invalidKMs
49+
module := &Module{
50+
Spec: ModuleSpec{
51+
ModuleLoader: ModuleLoaderSpec{
52+
Container: ModuleLoaderContainerSpec{
53+
KernelMappings: []KernelMapping{
54+
{Regexp: "*-invalid-regex"},
55+
},
56+
},
57+
},
58+
},
59+
}
60+
6161
e := module.ValidateCreate()
6262
Expect(e).To(HaveOccurred())
63-
Expect(e.Error()).To(ContainSubstring("invalid regex:"))
63+
Expect(e.Error()).To(ContainSubstring("invalid regexp"))
6464
})
6565
})
6666

6767
var _ = Describe("ValidateUpdate", func() {
6868
It("should pass when all conditions are met", func() {
69+
module := &Module{
70+
Spec: ModuleSpec{
71+
ModuleLoader: ModuleLoaderSpec{
72+
Container: ModuleLoaderContainerSpec{
73+
KernelMappings: []KernelMapping{
74+
{Regexp: "valid-regex"},
75+
},
76+
},
77+
},
78+
},
79+
}
80+
6981
e := module.ValidateUpdate(nil)
70-
Expect(e).To(BeNil())
82+
Expect(e).ToNot(HaveOccurred())
83+
})
84+
85+
It("should fail when an invalid regex is found", func() {
86+
module := &Module{
87+
Spec: ModuleSpec{
88+
ModuleLoader: ModuleLoaderSpec{
89+
Container: ModuleLoaderContainerSpec{
90+
KernelMappings: []KernelMapping{
91+
{Regexp: "*-invalid-regex"},
92+
},
93+
},
94+
},
95+
},
96+
}
97+
98+
e := module.ValidateUpdate(nil)
99+
Expect(e).To(HaveOccurred())
100+
Expect(e.Error()).To(ContainSubstring("invalid regexp"))
71101
})
72102
})
73103

74104
var _ = Describe("ValidateDelete", func() {
75105
It("should do nothing and return always nil", func() {
106+
module := &Module{
107+
Spec: ModuleSpec{
108+
ModuleLoader: ModuleLoaderSpec{
109+
Container: ModuleLoaderContainerSpec{
110+
KernelMappings: []KernelMapping{
111+
{Regexp: "valid-regex"},
112+
},
113+
},
114+
},
115+
},
116+
}
117+
76118
e := module.ValidateDelete()
77-
Expect(e).To(BeNil())
119+
Expect(e).ToNot(HaveOccurred())
78120
})
79121
})

cmd/manager/main.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,7 @@ func main() {
179179
}
180180

181181
if err = (&v1beta12.Module{}).SetupWebhookWithManager(mgr); err != nil {
182-
setupLogger.Error(err, "unable to create webhook", "webhook", "Module")
183-
os.Exit(1)
182+
cmd.FatalError(setupLogger, err, "unable to create webhook", "webhook", "Module")
184183
}
185184
//+kubebuilder:scaffold:builder
186185

0 commit comments

Comments
 (0)