Skip to content

Commit 8455a14

Browse files
committed
Add tests for rewriteClientIP
1 parent 9631d54 commit 8455a14

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

tests/cel/nginxproxy_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,51 @@ func TestNginxProxyKubernetes(t *testing.T) {
6565
}
6666
}
6767

68+
func TestNginxProxyRewriteClientIP(t *testing.T) {
69+
t.Parallel()
70+
g := NewWithT(t)
71+
72+
k8sClient, err := getKubernetesClient(t)
73+
g.Expect(err).ToNot(HaveOccurred())
74+
75+
tests := []struct {
76+
policySpec ngfAPIv1alpha2.NginxProxySpec
77+
name string
78+
wantErrors []string
79+
}{
80+
{
81+
name: "Validate NginxProxy is invalid when trustedAddresses is not set and mode is set",
82+
wantErrors: []string{"if mode is set, trustedAddresses is a required field"},
83+
policySpec: ngfAPIv1alpha2.NginxProxySpec{
84+
RewriteClientIP: &ngfAPIv1alpha2.RewriteClientIP{
85+
Mode: helpers.GetPointer[ngfAPIv1alpha2.RewriteClientIPModeType]("XForwardedFor"),
86+
},
87+
},
88+
},
89+
{
90+
name: "Validate NginxProxy is valid when both mode and trustedAddresses are set",
91+
policySpec: ngfAPIv1alpha2.NginxProxySpec{
92+
RewriteClientIP: &ngfAPIv1alpha2.RewriteClientIP{
93+
Mode: helpers.GetPointer[ngfAPIv1alpha2.RewriteClientIPModeType]("XForwardedFor"),
94+
TrustedAddresses: []ngfAPIv1alpha2.RewriteClientIPAddress{
95+
{
96+
Type: ngfAPIv1alpha2.RewriteClientIPAddressType("CIDR"),
97+
Value: "10.0.0.0/8",
98+
},
99+
},
100+
},
101+
},
102+
},
103+
}
104+
105+
for _, tt := range tests {
106+
t.Run(tt.name, func(t *testing.T) {
107+
t.Parallel()
108+
validateNginxProxy(t, tt, g, k8sClient)
109+
})
110+
}
111+
}
112+
68113
func validateNginxProxy(t *testing.T, tt struct {
69114
policySpec ngfAPIv1alpha2.NginxProxySpec
70115
name string

0 commit comments

Comments
 (0)