Skip to content

Commit 9bbe4cd

Browse files
committed
Refactor tests
1 parent 80e121a commit 9bbe4cd

File tree

3 files changed

+57
-76
lines changed

3 files changed

+57
-76
lines changed

tests/cel/clientsettingspolicy_test.go

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package cel
33
import (
44
"testing"
55

6-
. "github.com/onsi/gomega"
76
controllerruntime "sigs.k8s.io/controller-runtime"
87
gatewayv1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2"
98

@@ -13,19 +12,16 @@ import (
1312

1413
func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
1514
t.Parallel()
16-
g := NewWithT(t)
17-
18-
k8sClient, err := getKubernetesClient(t)
19-
g.Expect(err).ToNot(HaveOccurred())
15+
k8sClient := getKubernetesClient(t)
2016

2117
tests := []struct {
22-
policySpec ngfAPIv1alpha1.ClientSettingsPolicySpec
18+
spec ngfAPIv1alpha1.ClientSettingsPolicySpec
2319
name string
2420
wantErrors []string
2521
}{
2622
{
2723
name: "Validate TargetRef of kind Gateway is allowed",
28-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
24+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
2925
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
3026
Kind: gatewayKind,
3127
Group: gatewayGroup,
@@ -34,7 +30,7 @@ func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
3430
},
3531
{
3632
name: "Validate TargetRef of kind HTTPRoute is allowed",
37-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
33+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
3834
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
3935
Kind: httpRouteKind,
4036
Group: gatewayGroup,
@@ -43,7 +39,7 @@ func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
4339
},
4440
{
4541
name: "Validate TargetRef of kind GRPCRoute is allowed",
46-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
42+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
4743
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
4844
Kind: grpcRouteKind,
4945
Group: gatewayGroup,
@@ -53,7 +49,7 @@ func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
5349
{
5450
name: "Validate Invalid TargetRef Kind is not allowed",
5551
wantErrors: []string{expectedTargetRefKindError},
56-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
52+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
5753
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
5854
Kind: invalidKind,
5955
Group: gatewayGroup,
@@ -63,7 +59,7 @@ func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
6359
{
6460
name: "Validate TCPRoute TargetRef Kind is not allowed",
6561
wantErrors: []string{expectedTargetRefKindError},
66-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
62+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
6763
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
6864
Kind: tcpRouteKind,
6965
Group: gatewayGroup,
@@ -75,35 +71,32 @@ func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
7571
for _, tt := range tests {
7672
t.Run(tt.name, func(t *testing.T) {
7773
t.Parallel()
78-
policySpec := tt.policySpec
79-
policySpec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
74+
spec := tt.spec
75+
spec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
8076
clientSettingsPolicy := &ngfAPIv1alpha1.ClientSettingsPolicy{
8177
ObjectMeta: controllerruntime.ObjectMeta{
82-
Name: uniqueResourceName(testPolicyName),
78+
Name: uniqueResourceName(testResourceName),
8379
Namespace: defaultNamespace,
8480
},
85-
Spec: policySpec,
81+
Spec: spec,
8682
}
87-
validateCrd(t, tt.wantErrors, g, clientSettingsPolicy, k8sClient)
83+
validateCrd(t, tt.wantErrors, clientSettingsPolicy, k8sClient)
8884
})
8985
}
9086
}
9187

9288
func TestClientSettingsPoliciesTargetRefGroup(t *testing.T) {
9389
t.Parallel()
94-
g := NewWithT(t)
95-
96-
k8sClient, err := getKubernetesClient(t)
97-
g.Expect(err).ToNot(HaveOccurred())
90+
k8sClient := getKubernetesClient(t)
9891

9992
tests := []struct {
100-
policySpec ngfAPIv1alpha1.ClientSettingsPolicySpec
93+
spec ngfAPIv1alpha1.ClientSettingsPolicySpec
10194
name string
10295
wantErrors []string
10396
}{
10497
{
10598
name: "Validate gateway.networking.k8s.io TargetRef Group is allowed",
106-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
99+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
107100
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
108101
Kind: gatewayKind,
109102
Group: gatewayGroup,
@@ -113,7 +106,7 @@ func TestClientSettingsPoliciesTargetRefGroup(t *testing.T) {
113106
{
114107
name: "Validate invalid.networking.k8s.io TargetRef Group is not allowed",
115108
wantErrors: []string{expectedTargetRefGroupError},
116-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
109+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
117110
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
118111
Kind: gatewayKind,
119112
Group: invalidGroup,
@@ -123,7 +116,7 @@ func TestClientSettingsPoliciesTargetRefGroup(t *testing.T) {
123116
{
124117
name: "Validate discovery.k8s.io/v1 TargetRef Group is not allowed",
125118
wantErrors: []string{expectedTargetRefGroupError},
126-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
119+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
127120
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
128121
Kind: gatewayKind,
129122
Group: discoveryGroup,
@@ -135,35 +128,32 @@ func TestClientSettingsPoliciesTargetRefGroup(t *testing.T) {
135128
for _, tt := range tests {
136129
t.Run(tt.name, func(t *testing.T) {
137130
t.Parallel()
138-
policySpec := tt.policySpec
139-
policySpec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
131+
spec := tt.spec
132+
spec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
140133
clientSettingsPolicy := &ngfAPIv1alpha1.ClientSettingsPolicy{
141134
ObjectMeta: controllerruntime.ObjectMeta{
142-
Name: uniqueResourceName(testPolicyName),
135+
Name: uniqueResourceName(testResourceName),
143136
Namespace: defaultNamespace,
144137
},
145-
Spec: policySpec,
138+
Spec: spec,
146139
}
147-
validateCrd(t, tt.wantErrors, g, clientSettingsPolicy, k8sClient)
140+
validateCrd(t, tt.wantErrors, clientSettingsPolicy, k8sClient)
148141
})
149142
}
150143
}
151144

152145
func TestClientSettingsPoliciesKeepAliveTimeout(t *testing.T) {
153146
t.Parallel()
154-
g := NewWithT(t)
155-
156-
k8sClient, err := getKubernetesClient(t)
157-
g.Expect(err).ToNot(HaveOccurred())
147+
k8sClient := getKubernetesClient(t)
158148

159149
tests := []struct {
160-
policySpec ngfAPIv1alpha1.ClientSettingsPolicySpec
150+
spec ngfAPIv1alpha1.ClientSettingsPolicySpec
161151
name string
162152
wantErrors []string
163153
}{
164154
{
165155
name: "Validate KeepAliveTimeout is not set",
166-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
156+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
167157
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
168158
Kind: gatewayKind,
169159
Group: gatewayGroup,
@@ -173,7 +163,7 @@ func TestClientSettingsPoliciesKeepAliveTimeout(t *testing.T) {
173163
},
174164
{
175165
name: "Validate KeepAlive is set",
176-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
166+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
177167
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
178168
Kind: gatewayKind,
179169
Group: gatewayGroup,
@@ -189,7 +179,7 @@ func TestClientSettingsPoliciesKeepAliveTimeout(t *testing.T) {
189179
{
190180
name: "Validate Header cannot be set without Server",
191181
wantErrors: []string{expectedHeaderWithoutServerError},
192-
policySpec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
182+
spec: ngfAPIv1alpha1.ClientSettingsPolicySpec{
193183
TargetRef: gatewayv1alpha2.LocalPolicyTargetReference{
194184
Kind: gatewayKind,
195185
Group: gatewayGroup,
@@ -206,16 +196,16 @@ func TestClientSettingsPoliciesKeepAliveTimeout(t *testing.T) {
206196
for _, tt := range tests {
207197
t.Run(tt.name, func(t *testing.T) {
208198
t.Parallel()
209-
policySpec := tt.policySpec
210-
policySpec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
199+
spec := tt.spec
200+
spec.TargetRef.Name = gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName))
211201
clientSettingsPolicy := &ngfAPIv1alpha1.ClientSettingsPolicy{
212202
ObjectMeta: controllerruntime.ObjectMeta{
213-
Name: uniqueResourceName(testPolicyName),
203+
Name: uniqueResourceName(testResourceName),
214204
Namespace: defaultNamespace,
215205
},
216-
Spec: policySpec,
206+
Spec: spec,
217207
}
218-
validateCrd(t, tt.wantErrors, g, clientSettingsPolicy, k8sClient)
208+
validateCrd(t, tt.wantErrors, clientSettingsPolicy, k8sClient)
219209
})
220210
}
221211
}

tests/cel/common.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,29 +44,30 @@ const (
4444
)
4545

4646
const (
47-
testPolicyName = "test-policy"
47+
testResourceName = "test-policy"
4848
testTargetRefName = "test-targetRef"
4949
)
5050

5151
// getKubernetesClient returns a client connected to a real Kubernetes cluster.
52-
func getKubernetesClient(t *testing.T) (k8sClient client.Client, err error) {
52+
func getKubernetesClient(t *testing.T) (k8sClient client.Client) {
5353
t.Helper()
54+
g := NewWithT(t)
5455
// Use controller-runtime to get cluster connection
5556
k8sConfig, err := controllerruntime.GetConfig()
56-
if err != nil {
57-
return nil, err
58-
}
57+
g.Expect(err).ToNot(HaveOccurred())
5958

6059
// Set up scheme with NGF types
6160
scheme := runtime.NewScheme()
62-
if err = ngfAPIv1alpha1.AddToScheme(scheme); err != nil {
63-
return nil, err
64-
}
65-
if err = ngfAPIv1alpha2.AddToScheme(scheme); err != nil {
66-
return nil, err
67-
}
68-
// Create a new client with the scheme and return it
69-
return client.New(k8sConfig, client.Options{Scheme: scheme})
61+
err = ngfAPIv1alpha1.AddToScheme(scheme)
62+
g.Expect(err).ToNot(HaveOccurred())
63+
64+
err = ngfAPIv1alpha2.AddToScheme(scheme)
65+
g.Expect(err).ToNot(HaveOccurred())
66+
67+
k8sClient, err = client.New(k8sConfig, client.Options{Scheme: scheme})
68+
g.Expect(err).ToNot(HaveOccurred())
69+
70+
return k8sClient
7071
}
7172

7273
// randomPrimeNumber generates a random prime number of 64 bits.
@@ -85,9 +86,9 @@ func uniqueResourceName(name string) string {
8586
}
8687

8788
// validateCrd creates a k8s resource and validates it against the expected errors.
88-
func validateCrd(t *testing.T, wantErrors []string, g *WithT, crd client.Object, k8sClient client.Client) {
89+
func validateCrd(t *testing.T, wantErrors []string, crd client.Object, k8sClient client.Client) {
8990
t.Helper()
90-
91+
g := NewWithT(t)
9192
timeoutConfig := framework.DefaultTimeoutConfig()
9293
ctx, cancel := context.WithTimeout(context.Background(), timeoutConfig.KubernetesClientTimeout)
9394
err := k8sClient.Create(ctx, crd)

tests/cel/nginxproxy_test.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package cel
33
import (
44
"testing"
55

6-
. "github.com/onsi/gomega"
76
controllerruntime "sigs.k8s.io/controller-runtime"
87

98
ngfAPIv1alpha2 "github.com/nginx/nginx-gateway-fabric/v2/apis/v1alpha2"
@@ -12,10 +11,7 @@ import (
1211

1312
func TestNginxProxyKubernetes(t *testing.T) {
1413
t.Parallel()
15-
g := NewWithT(t)
16-
17-
k8sClient, err := getKubernetesClient(t)
18-
g.Expect(err).ToNot(HaveOccurred())
14+
k8sClient := getKubernetesClient(t)
1915

2016
tests := []struct {
2117
spec ngfAPIv1alpha2.NginxProxySpec
@@ -54,7 +50,7 @@ func TestNginxProxyKubernetes(t *testing.T) {
5450
t.Run(tt.name, func(t *testing.T) {
5551
t.Parallel()
5652
spec := tt.spec
57-
policyName := uniqueResourceName(testPolicyName)
53+
policyName := uniqueResourceName(testResourceName)
5854

5955
nginxProxy := &ngfAPIv1alpha2.NginxProxy{
6056
ObjectMeta: controllerruntime.ObjectMeta{
@@ -63,17 +59,14 @@ func TestNginxProxyKubernetes(t *testing.T) {
6359
},
6460
Spec: spec,
6561
}
66-
validateCrd(t, tt.wantErrors, g, nginxProxy, k8sClient)
62+
validateCrd(t, tt.wantErrors, nginxProxy, k8sClient)
6763
})
6864
}
6965
}
7066

7167
func TestNginxProxyRewriteClientIP(t *testing.T) {
7268
t.Parallel()
73-
g := NewWithT(t)
74-
75-
k8sClient, err := getKubernetesClient(t)
76-
g.Expect(err).ToNot(HaveOccurred())
69+
k8sClient := getKubernetesClient(t)
7770

7871
tests := []struct {
7972
spec ngfAPIv1alpha2.NginxProxySpec
@@ -109,7 +102,7 @@ func TestNginxProxyRewriteClientIP(t *testing.T) {
109102
t.Run(tt.name, func(t *testing.T) {
110103
t.Parallel()
111104
spec := tt.spec
112-
policyName := uniqueResourceName(testPolicyName)
105+
policyName := uniqueResourceName(testResourceName)
113106

114107
nginxProxy := &ngfAPIv1alpha2.NginxProxy{
115108
ObjectMeta: controllerruntime.ObjectMeta{
@@ -118,17 +111,14 @@ func TestNginxProxyRewriteClientIP(t *testing.T) {
118111
},
119112
Spec: spec,
120113
}
121-
validateCrd(t, tt.wantErrors, g, nginxProxy, k8sClient)
114+
validateCrd(t, tt.wantErrors, nginxProxy, k8sClient)
122115
})
123116
}
124117
}
125118

126119
func TestNginxProxyAutoscaling(t *testing.T) {
127120
t.Parallel()
128-
g := NewWithT(t)
129-
130-
k8sClient, err := getKubernetesClient(t)
131-
g.Expect(err).ToNot(HaveOccurred())
121+
k8sClient := getKubernetesClient(t)
132122

133123
tests := []struct {
134124
spec ngfAPIv1alpha2.NginxProxySpec
@@ -180,7 +170,7 @@ func TestNginxProxyAutoscaling(t *testing.T) {
180170
t.Run(tt.name, func(t *testing.T) {
181171
t.Parallel()
182172
spec := tt.spec
183-
policyName := uniqueResourceName(testPolicyName)
173+
policyName := uniqueResourceName(testResourceName)
184174

185175
nginxProxy := &ngfAPIv1alpha2.NginxProxy{
186176
ObjectMeta: controllerruntime.ObjectMeta{
@@ -189,7 +179,7 @@ func TestNginxProxyAutoscaling(t *testing.T) {
189179
},
190180
Spec: spec,
191181
}
192-
validateCrd(t, tt.wantErrors, g, nginxProxy, k8sClient)
182+
validateCrd(t, tt.wantErrors, nginxProxy, k8sClient)
193183
})
194184
}
195185
}

0 commit comments

Comments
 (0)