Skip to content

Commit

Permalink
Combine requestHeaderModifier test cases (Core Capabilities) with Ext…
Browse files Browse the repository at this point in the history
…ended Capabilities such as requestMirror, responseHeaderModifier, and urlRewrite
  • Loading branch information
Treenhan committed Jun 8, 2023
1 parent f9c1a1d commit 95bfc6f
Show file tree
Hide file tree
Showing 8 changed files with 201 additions and 0 deletions.
20 changes: 20 additions & 0 deletions conformance/tests/httproute-request-mirror.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,26 @@ var HTTPRouteRequestMirror = suite.ConformanceTest{
Backend: "infra-backend-v1",
MirroredTo: "infra-backend-v2",
Namespace: ns,
}, {
Request: http.Request{
Path: "/mirror-and-modify-headers",
Headers: map[string]string{
"X-Header-Remove": "val",
},
},
ExpectedRequest: &http.ExpectedRequest{
Request: http.Request{
Path: "/mirror-and-modify-headers",
Headers: map[string]string{
"X-Header-Add": "add-appends-values",
"X-Header-Set": "set-overwrites-values",
},
},
AbsentHeaders: []string{"X-Header-Remove"},
},
Namespace: ns,
Backend: "infra-backend-v1",
MirroredTo: "infra-backend-v2",
},
}
for i := range testCases {
Expand Down
25 changes: 25 additions & 0 deletions conformance/tests/httproute-request-mirror.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,28 @@ spec:
- name: infra-backend-v1
port: 8080
namespace: gateway-conformance-infra
- matches:
- path:
type: PathPrefix
value: /mirror-and-modify-headers
filters:
- type: RequestHeaderModifier
requestHeaderModifier:
set:
- name: X-Header-Set
value: set-overwrites-values
add:
- name: X-Header-Add
value: add-appends-values
remove:
- X-Header-Remove
- type: RequestMirror
requestMirror:
backendRef:
name: infra-backend-v2
namespace: gateway-conformance-infra
port: 8080
backendRefs:
- name: infra-backend-v1
port: 8080
namespace: gateway-conformance-infra
37 changes: 37 additions & 0 deletions conformance/tests/httproute-response-header-modifier.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,43 @@ var HTTPRouteResponseHeaderModifier = suite.ConformanceTest{
},
Backend: "infra-backend-v1",
Namespace: ns,
}, {
Request: http.Request{
Path: "/response-and-request-header-modifiers",
Headers: map[string]string{
"X-Header-Remove": "val",
},
},
BackendSetResponseHeaders: map[string]string{
"X-Header-Set-2": "set-val-2",
"X-Header-Add-2": "add-val-2",
"X-Header-Remove-2": "remove-val-2",
"Another-Header": "another-header-val",
"X-Header-Remove-1": "val",
},
ExpectedRequest: &http.ExpectedRequest{
Request: http.Request{
Path: "/response-and-request-header-modifiers",
Headers: map[string]string{
"X-Header-Add": "add-appends-values",
"X-Header-Set": "set-overwrites-values",
},
},
AbsentHeaders: []string{"X-Header-Remove"},
},
Response: http.Response{
Headers: map[string]string{
"X-Header-Set-1": "header-set-1",
"X-Header-Set-2": "header-set-2",
"X-Header-Add-1": "header-add-1",
"X-Header-Add-2": "add-val-2,header-add-2",
"X-Header-Add-3": "header-add-3",
"Another-Header": "another-header-val",
},
AbsentHeaders: []string{"X-Header-Remove-1", "X-Header-Remove-2"},
},
Backend: "infra-backend-v1",
Namespace: ns,
}}

for i := range testCases {
Expand Down
35 changes: 35 additions & 0 deletions conformance/tests/httproute-response-header-modifier.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,38 @@ spec:
backendRefs:
- name: infra-backend-v1
port: 8080
- matches:
- path:
type: PathPrefix
value: /response-and-request-header-modifiers
filters:
- type: ResponseHeaderModifier
responseHeaderModifier:
set:
- name: X-Header-Set-1
value: header-set-1
- name: X-Header-Set-2
value: header-set-2
add:
- name: X-Header-Add-1
value: header-add-1
- name: X-Header-Add-2
value: header-add-2
- name: X-Header-Add-3
value: header-add-3
remove:
- X-Header-Remove-1
- X-Header-Remove-2
- type: RequestHeaderModifier
requestHeaderModifier:
set:
- name: X-Header-Set
value: set-overwrites-values
add:
- name: X-Header-Add
value: add-appends-values
remove:
- X-Header-Remove
backendRefs:
- name: infra-backend-v1
port: 8080
21 changes: 21 additions & 0 deletions conformance/tests/httproute-rewrite-host.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,27 @@ var HTTPRouteRewriteHost = suite.ConformanceTest{
},
Backend: "infra-backend-v2",
Namespace: ns,
}, {
Request: http.Request{
Path: "/rewrite-host-and-modify-headers",
Host: "rewrite.example",
Headers: map[string]string{
"X-Header-Remove": "val",
},
},
ExpectedRequest: &http.ExpectedRequest{
Request: http.Request{
Path: "/rewrite-host-and-modify-headers",
Host: "test.example.org",
Headers: map[string]string{
"X-Header-Add": "add-appends-values",
"X-Header-Set": "set-overwrites-values",
},
},
AbsentHeaders: []string{"X-Header-Remove"},
},
Backend: "infra-backend-v2",
Namespace: ns,
},
}
for i := range testCases {
Expand Down
21 changes: 21 additions & 0 deletions conformance/tests/httproute-rewrite-host.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,24 @@ spec:
backendRefs:
- name: infra-backend-v2
port: 8080
- matches:
- path:
type: PathPrefix
value: /rewrite-host-and-modify-headers
filters:
- type: URLRewrite
urlRewrite:
hostname: test.example.org
- type: RequestHeaderModifier
requestHeaderModifier:
set:
- name: X-Header-Set
value: set-overwrites-values
add:
- name: X-Header-Add
value: add-appends-values
remove:
- X-Header-Remove
backendRefs:
- name: infra-backend-v2
port: 8080
19 changes: 19 additions & 0 deletions conformance/tests/httproute-rewrite-path.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,25 @@ var HTTPRouteRewritePath = suite.ConformanceTest{
},
Backend: "infra-backend-v1",
Namespace: ns,
}, {
Request: http.Request{
Path: "/full/rewrite-path-and-modify-headers/test",
Headers: map[string]string{
"X-Header-Remove": "val",
},
},
ExpectedRequest: &http.ExpectedRequest{
Request: http.Request{
Path: "/test",
Headers: map[string]string{
"X-Header-Add": "add-appends-values",
"X-Header-Set": "set-overwrites-values",
},
},
AbsentHeaders: []string{"X-Header-Remove"},
},
Backend: "infra-backend-v1",
Namespace: ns,
},
}
for i := range testCases {
Expand Down
23 changes: 23 additions & 0 deletions conformance/tests/httproute-rewrite-path.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,26 @@ spec:
backendRefs:
- name: infra-backend-v1
port: 8080
- matches:
- path:
type: PathPrefix
value: /full/rewrite-path-and-modify-headers
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplaceFullPath
replaceFullPath: /test
- type: RequestHeaderModifier
requestHeaderModifier:
set:
- name: X-Header-Set
value: set-overwrites-values
add:
- name: X-Header-Add
value: add-appends-values
remove:
- X-Header-Remove
backendRefs:
- name: infra-backend-v1
port: 8080

0 comments on commit 95bfc6f

Please sign in to comment.