Skip to content

Commit 7999151

Browse files
committed
fix e2e
Signed-off-by: zirain <zirain2009@gmail.com>
1 parent 0533ccb commit 7999151

5 files changed

+43
-58
lines changed

test/e2e/testdata/backend-tls.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,13 +212,11 @@ spec:
212212
apiVersion: gateway.networking.k8s.io/v1
213213
kind: HTTPRoute
214214
metadata:
215-
name: http-with-backend-tls-system-trust-store
215+
name: http-with-backend-tls-trust-bundle
216216
namespace: gateway-conformance-infra
217217
spec:
218218
parentRefs:
219219
- name: same-namespace
220-
hostnames:
221-
- gateway.envoyproxy.io
222220
rules:
223221
- matches:
224222
- path:
@@ -257,3 +255,4 @@ spec:
257255
kind: ClusterTrustBundle
258256
hostname: example.com
259257
---
258+

test/e2e/testdata/httproute-with-dynamic-resolver-backend-with-clustertrustbundle.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ spec:
2929
apiVersion: gateway.envoyproxy.io/v1alpha1
3030
kind: Backend
3131
metadata:
32-
name: backend-dynamic-resolver-tls
32+
name: backend-dynamic-resolver-clustertrustbundle
3333
namespace: gateway-conformance-infra
3434
spec:
3535
type: DynamicResolver

test/e2e/testdata/httproute-with-dynamic-resolver-backend-with-tls.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ spec:
1515
- path:
1616
type: PathPrefix
1717
value: /with-tls
18+
- backendRefs:
19+
- group: gateway.envoyproxy.io
20+
kind: Backend
21+
name: backend-dynamic-resolver-clustertrustbundle
22+
matches:
23+
- path:
24+
type: PathPrefix
25+
value: /with-clustertrustbundle
1826
---
1927
apiVersion: gateway.envoyproxy.io/v1alpha1
2028
kind: Backend

test/e2e/tests/backend_tls.go

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ var BackendTLSTest = suite.ConformanceTest{
2525
Description: "Connect to backend with TLS",
2626
Manifests: []string{"testdata/backend-tls.yaml"},
2727
Test: func(t *testing.T, suite *suite.ConformanceTestSuite) {
28+
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ConformanceInfraNamespace}
2829
t.Run("with a backend TLS Policy", func(t *testing.T) {
29-
ns := "gateway-conformance-infra"
30-
routeNN := types.NamespacedName{Name: "http-with-backend-tls", Namespace: ns}
31-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
30+
routeNN := types.NamespacedName{Name: "http-with-backend-tls", Namespace: ConformanceInfraNamespace}
3231
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
3332

3433
expectedResponse := http.ExpectedResponse{
@@ -38,7 +37,7 @@ var BackendTLSTest = suite.ConformanceTest{
3837
Response: http.Response{
3938
StatusCode: 200,
4039
},
41-
Namespace: ns,
40+
Namespace: ConformanceInfraNamespace,
4241
}
4342

4443
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
@@ -49,9 +48,7 @@ var BackendTLSTest = suite.ConformanceTest{
4948
if IPFamily == "ipv6" {
5049
t.Skip("Skipping test as IP_FAMILY is IPv6")
5150
}
52-
ns := "gateway-conformance-infra"
53-
routeNN := types.NamespacedName{Name: "http-with-backend-tls-system-trust-store", Namespace: ns}
54-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
51+
routeNN := types.NamespacedName{Name: "http-with-backend-tls-system-trust-store", Namespace: ConformanceInfraNamespace}
5552
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
5653

5754
expectedResponse := http.ExpectedResponse{
@@ -73,9 +70,7 @@ var BackendTLSTest = suite.ConformanceTest{
7370
})
7471

7572
t.Run("without a backend TLS Policy", func(t *testing.T) {
76-
ns := "gateway-conformance-infra"
77-
routeNN := types.NamespacedName{Name: "http-without-backend-tls", Namespace: ns}
78-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
73+
routeNN := types.NamespacedName{Name: "http-without-backend-tls", Namespace: ConformanceInfraNamespace}
7974
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
8075

8176
expectedResponse := http.ExpectedResponse{
@@ -85,16 +80,14 @@ var BackendTLSTest = suite.ConformanceTest{
8580
Response: http.Response{
8681
StatusCode: 400, // Bad Request: Client sent an HTTP request to an HTTPS server
8782
},
88-
Namespace: ns,
83+
Namespace: ConformanceInfraNamespace,
8984
}
9085

9186
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
9287
})
9388

9489
t.Run("with CA mismatch and skip tls verify", func(t *testing.T) {
95-
ns := "gateway-conformance-infra"
96-
routeNN := types.NamespacedName{Name: "http-with-backend-insecure-skip-verify", Namespace: ns}
97-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
90+
routeNN := types.NamespacedName{Name: "http-with-backend-insecure-skip-verify", Namespace: ConformanceInfraNamespace}
9891
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
9992

10093
expectedResponse := http.ExpectedResponse{
@@ -104,26 +97,24 @@ var BackendTLSTest = suite.ConformanceTest{
10497
Response: http.Response{
10598
StatusCode: 200, // Bad Request: Client sent an HTTP request to an HTTPS server
10699
},
107-
Namespace: ns,
100+
Namespace: ConformanceInfraNamespace,
108101
}
109102

110103
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
111104
})
112105

113106
t.Run("with ClusterTrustBundle", func(t *testing.T) {
114-
ns := "gateway-conformance-infra"
115-
routeNN := types.NamespacedName{Name: "http-with-backend-tls", Namespace: ns}
116-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
107+
routeNN := types.NamespacedName{Name: "http-with-backend-tls-trust-bundle", Namespace: ConformanceInfraNamespace}
117108
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
118109

119110
expectedResponse := http.ExpectedResponse{
120111
Request: http.Request{
121-
Path: "/backend-tls",
112+
Path: "/cluster-trust-bundle",
122113
},
123114
Response: http.Response{
124115
StatusCode: 200,
125116
},
126-
Namespace: ns,
117+
Namespace: ConformanceInfraNamespace,
127118
}
128119

129120
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)

test/e2e/tests/httproute_with_dynamic_resolver_backend.go

Lines changed: 21 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ import (
1919
func init() {
2020
ConformanceTests = append(ConformanceTests,
2121
DynamicResolverBackendTest,
22-
DynamicResolverBackendWithTLSTest,
23-
DynamicResolverBackendWithClusterTrustBundleTest)
22+
DynamicResolverBackendWithTLSTest)
2423
}
2524

2625
var DynamicResolverBackendTest = suite.ConformanceTest{
@@ -96,12 +95,30 @@ var DynamicResolverBackendWithTLSTest = suite.ConformanceTest{
9695
Manifests: []string{
9796
"testdata/httproute-with-dynamic-resolver-backend-with-tls.yaml",
9897
"testdata/httproute-with-dynamic-resolver-backend-with-tls-system-ca.yaml",
98+
"testdata/httproute-with-dynamic-resolver-backend-with-clustertrustbundle.yaml",
9999
},
100100
Test: func(t *testing.T, suite *suite.ConformanceTestSuite) {
101101
ns := "gateway-conformance-infra"
102102
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
103+
t.Run("ClusterTrustBundle", func(t *testing.T) {
104+
routeNN := types.NamespacedName{Name: "httproute-with-dynamic-resolver-backend-tls", Namespace: ns}
105+
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
106+
BackendMustBeAccepted(t, suite.Client, types.NamespacedName{Name: "backend-dynamic-resolver-clustertrustbundle", Namespace: ns})
107+
108+
expectedResponse := http.ExpectedResponse{
109+
Request: http.Request{
110+
Host: "backend-dynamic-resolver-tls.gateway-conformance-infra.svc.cluster.local:443",
111+
Path: "/with-clustertrustbundle",
112+
},
113+
Response: http.Response{
114+
StatusCode: 200,
115+
},
116+
Namespace: ns,
117+
}
103118

104-
t.Run("route to service with TLS", func(t *testing.T) {
119+
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
120+
})
121+
t.Run("TLS", func(t *testing.T) {
105122
routeNN := types.NamespacedName{Name: "httproute-with-dynamic-resolver-backend-tls", Namespace: ns}
106123
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
107124
BackendMustBeAccepted(t, suite.Client, types.NamespacedName{Name: "backend-dynamic-resolver-tls", Namespace: ns})
@@ -119,7 +136,7 @@ var DynamicResolverBackendWithTLSTest = suite.ConformanceTest{
119136

120137
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
121138
})
122-
t.Run("route to service with TLS using system CA", func(t *testing.T) {
139+
t.Run("SystemCA", func(t *testing.T) {
123140
routeNN := types.NamespacedName{Name: "httproute-with-dynamic-resolver-backend-tls-system-trust-store", Namespace: ns}
124141
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
125142
BackendMustBeAccepted(t, suite.Client, types.NamespacedName{Name: "backend-dynamic-resolver-tls-system-trust-store", Namespace: ns})
@@ -142,33 +159,3 @@ var DynamicResolverBackendWithTLSTest = suite.ConformanceTest{
142159
})
143160
},
144161
}
145-
146-
var DynamicResolverBackendWithClusterTrustBundleTest = suite.ConformanceTest{
147-
ShortName: "DynamicResolverBackendWithClusterTrustBundle",
148-
Description: "Routes with a backend ref to a dynamic resolver backend with ClusterTrustBundle",
149-
Manifests: []string{
150-
"testdata/httproute-with-dynamic-resolver-backend-with-tls.yaml",
151-
"testdata/httproute-with-dynamic-resolver-backend-with-clustertrustbundle.yaml",
152-
},
153-
Test: func(t *testing.T, suite *suite.ConformanceTestSuite) {
154-
ns := "gateway-conformance-infra"
155-
gwNN := types.NamespacedName{Name: "same-namespace", Namespace: ns}
156-
157-
routeNN := types.NamespacedName{Name: "httproute-with-dynamic-resolver-backend-tls", Namespace: ns}
158-
gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)
159-
BackendMustBeAccepted(t, suite.Client, types.NamespacedName{Name: "backend-dynamic-resolver-tls", Namespace: ns})
160-
161-
expectedResponse := http.ExpectedResponse{
162-
Request: http.Request{
163-
Host: "backend-dynamic-resolver-tls.gateway-conformance-infra.svc.cluster.local:443",
164-
Path: "/with-tls",
165-
},
166-
Response: http.Response{
167-
StatusCode: 200,
168-
},
169-
Namespace: ns,
170-
}
171-
172-
http.MakeRequestAndExpectEventuallyConsistentResponse(t, suite.RoundTripper, suite.TimeoutConfig, gwAddr, expectedResponse)
173-
},
174-
}

0 commit comments

Comments
 (0)